我使用了underscore.js sortBy集合,但它创建了使用特定键对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
我猜这个问题可能是大写和小写的问题。我怎么能避免这个问题?
答案 0 :(得分:-1)
使用开源项目jinqJs
对数组中的值进行排序。
var result = jinqJs().from(arr).orderBy([{field: 0}]).select();
这里的密钥不同并不重要,只需对值进行排序。但请记住,javaScript是个案敏感的,你的一些值是大写和小写。