Po kilku drobnych problemach próbujących przekonwertować underscore.js do sortowania niewrażliwego na wielkość liter. Mam szereg obiektów i chciałbym móc sortować według nazwy właściwości.Underscore.js Case Insensitive Sorting
Stosując metodę skrótu sortBy
iteratee może być również nazwa ciąg właściwość sortowania przez (np. Długość).
Array być klasyfikowane:
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'}];
Sortowanie za pomocą tej metody, SortProperty = 'name', miejsca wynik wielkimi literami przed małymi literami.
var sorted = _.sortBy(array, sortProperty);
1a2929 - abcdef
GGGGH - 123456
TEST - 4422
abc - Full description
test_1234 - zzaaa bb cc
zz1111 - ZAAbbbcc
Przypuszczam, że ma to związek z wrażliwością na sprawy, ale nie mogę dowiedzieć się, jak zmienić nazwy w tablicy na małe i porównać ten sposób.
Każda pomoc jest bardzo doceniana.
Edit: Jak podkreślił, przechodzą w nazwie lub funkcji, więc po prostu dostosowane funkcja zwraca które pole do Sortuj według: http://jsfiddle.net/rjaqp1vg/5/
Tak wymyśliłem, dzięki. Po prostu muszę podać, do której własności należy się posortować, np. return i.name.toLowerCase() lub zwróć i.description.toLowerCase() –