2015-11-10 2 views
0

Я написал компаратор для сортировки коллекции на основе «ид», как это:Сортировка коллекция в алфавитном порядке позвоночнике

comparator: function(coll) { 
    return coll.get('id'); 
} 

Это прекрасно работает для ввода: «ID-1, ID-0, id- 2, id-199 "для сортировки как" id-0, id-1, id-2, id-199 "

Но не сортирует численно здесь:« id-1, id-0, id-2, id-199, id-99 "как" id-0, id-1, id-2, id-199, id-99 "- id-99 должен быть до id-199.

+0

попробуйте 'coll.get ('id'). Replace (" id- "," ") | 0' – suish

+0

Это может работать, но начальная строка «id-» не является постоянной. – adelphia

+0

'coll.get ('id'). Replace (/ [0-9^\]/g," ") | 0' – suish

ответ

0

Как прокомментировал @suish, как это было решено было, выполнив замену всей нечисловой части пустой строкой.

coll.get('id').replace(/[^0-9^\.]/g,"")|0 – 
+0

, пожалуйста, обновите ответ решением от комментариев и примите его, чтобы указать, что проблема решена. –

+0

Но вы сказали, что * начальная строка «id-» не является постоянной *, так как можно было бы отбросить префикс правильно, чтобы отсортировать вещи? –

+0

@muistooshort - потому что вместо этого мы использовали регулярное выражение: /[^0-9^\.]/g – adelphia

Смежные вопросы