Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 下划线.js排序结果顺序错误_Javascript_Jquery_Sorting_Underscore.js - Fatal编程技术网

Javascript 下划线.js排序结果顺序错误

Javascript 下划线.js排序结果顺序错误,javascript,jquery,sorting,underscore.js,Javascript,Jquery,Sorting,Underscore.js,我使用了underline.js sortBy collection,但它是用于使用特定键对json进行排序的。键的类型可以是数字、文本或日期 var arr = [ {"NodeName)":"Drama"}, {"NodeName":"Song"}, {"NodeName":"Jokes"}, {"NodeName":"movie "}, {"NodeName":"music"}, {"NodeName":"Main"}, {"N

我使用了underline.js sortBy collection,但它是用于使用特定键对json进行排序的。键的类型可以是数字、文本或日期

var arr = [  
    {"NodeName)":"Drama"},
    {"NodeName":"Song"},
    {"NodeName":"Jokes"},
    {"NodeName":"movie  "},
    {"NodeName":"music"},
    {"NodeName":"Main"},
    {"NodeName)":"Random"},
    {"NodeName":"Silent"},
    {"NodeName":"travel"},
    {"NodeName":"udefined"}];

var testSortBy = _.chain(arr).sortBy("NodeName").value(); 
结果如下:

Jokes
Main
Silent
Song
movie  
music 
travel 
udefined
Drama
Random
但结果应该如下所示:

Drama
Jokes
moive
music
Main
Random
Silent
Song  
travel
udefined

我猜问题可以是大写和小写。如何避免此问题?

使用开源项目

对数组中的值进行排序

var result = jinqJs().from(arr).orderBy([{field: 0}]).select();

在这里,键的不同并不重要,只是对值进行了排序。但请记住javaScript是区分大小写的,您的一些值是大写和小写。

您将“NodeName”作为戏剧和随机的关键。这是一个打字错误还是导致了这种行为?删除zvona提到的括号,它应该会起作用。在这个问题中,括号是错误添加的,但我没有在代码中添加它,所以结果仍然是一样的