Javascript 下划线.js排序结果顺序错误
我使用了underline.js sortBy collection,但它是用于使用特定键对json进行排序的。键的类型可以是数字、文本或日期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
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提到的括号,它应该会起作用。在这个问题中,括号是错误添加的,但我没有在代码中添加它,所以结果仍然是一样的