Имея некоторые незначительные проблемы, пытающиеся получить underscore.js для сортировки без учета регистра. У меня есть массив объектов и хотел бы иметь возможность сортировать по имени свойства.
Использование метода быстрого доступа sortBy
iteratee также может быть строковым именем свойства для сортировки (например, длина).
Массив для сортировки:
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/