Новых в позвоночник, я пытаюсь отсортировать коллекцию в алфавитной, и делает это с одной моделью прошла в как ниже работает отлично:Передача 2 модели по сравнению с одной модели на магистральный компаратор и делать буквенно-цифровую сортировку
comparator: function(model) {
return model.get('id').replace(/[^0-9^\.]/g,"")|0;
}
Здесь мой предыдущий вопрос и разрешение: Sort a collection alphanumerically in backbone
Теперь, если я что-то вроде, чтобы получить в сравнении локали:
comparator: function(model1, model2) {
if ((model1.get('id').localeCompare(model2.get('id'))) < 0)
return -1;
}
if ((model1.get('id').localeCompare(model2.get('id'))) >0) {
return 1;
}
return 0;
}
Это отлично подходит для ввода: «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. Очевидно, потому что численное сравнение не включено. Я не смог успешно реализовать это, любые идеи?
Это недопустимый код javascript.parentheses не используются должным образом.it должен быть 'if (model1.get ('id'). LocaleCompare (model2.get ('id')) <0)', а последний if предложение имеет ту же проблему. – suish
@suish - мои извинения, я написал код и полагался на свои способности, чтобы сопоставить круглые скобки почти в полночь. Я думаю, что сейчас исправил это. – adelphia