Underscore.js sortBy结果错误的顺序

时间:2015-04-02 10:24:43

标签: javascript jquery sorting underscore.js

我使用了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
我猜这个问题可能是大写和小写的问题。我怎么能避免这个问题?

1 个答案:

答案 0 :(得分:-1)

使用开源项目jinqJs

See Fiddle

对数组中的值进行排序。

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

这里的密钥不同并不重要,只需对值进行排序。但请记住,javaScript是个案敏感的,你的一些值是大写和小写。