sorting - Underscore.js不区分大小写的排序

标签 sorting underscore.js case-insensitive

尝试获取underscore.js进行不区分大小写的排序时遇到一些小问题。我有一个对象数组,希望能够按属性名称排序。

使用快捷方式sortBy

iteratee may also be the string name of the property to sort by (eg. length).



要排序的数组:
var array = [{ name: 'test_1234', description: 'zzaaa bb cc'}, 
         { name: 'zz1111', description: 'ZAAbbbcc'}, 
         { name: 'TEST', description: '4422'}, 
         { name: '1a2929', description: 'abcdef'}, 
         { name: 'abc', description: 'Full description'}, 
         { name: 'GGGGH', description: '123456'}];

使用此方法sortProperty ='name'进行排序,结果将大写字母放在小写字母之前。
var sorted = _.sortBy(array, sortProperty);

1a2929 - abcdef
GGGGH - 123456
TEST - 4422
abc - Full description
test_1234 - zzaaa bb cc
zz1111 - ZAAbbbcc

我认为这与区分大小写有关,但我无法弄清楚如何将数组中的名称更改为小写并进行比较。

任何帮助是极大的赞赏。

编辑:
如前所述,您传入名称或函数,因此只需调整函数即可返回要排序的字段:
http://jsfiddle.net/rjaqp1vg/5/

最佳答案

要排序的名称可以是字段名称或一个函数,因此请传递一个进行小写转换的函数。

var sorted = _.sortBy(array, function (i) { return i.name.toLowerCase(); });

应该可以。

关于sorting - Underscore.js不区分大小写的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25873635/

相关文章:

javascript - 按数组分组

python - 如何使用len且不区分大小写?

list - 如何在Kotlin中按其值对HashMap <String,Int>顺序进行排序?

PHP 按列标题问题排序

regex - 在 Perl 中使用正则表达式对行进行排序

python - 不区分大小写的 argparse 选择

javascript - javascript indexOf 不区分大小写

java - 行条目少于显示和排序问题的 JTable

javascript - 用下划线分组和求和

javascript - 如何在 lodash/下划线中强制使用 arity?