Не думаю, что вы правильно определяете компаратор.Если вы определите компаратор, объекты будут вставлены в коллекцию в правильном порядке.
Вот пример, который вы можете просто запустить через firebug на сайте с загруженной магистралью:
var Chapter = Backbone.Model;
var chapters = new Backbone.Collection;
chapters.comparator = function(chapter) {
return chapter.get("page");
};
chapters.add(new Chapter({page: 9, title: "The End"}));
chapters.add(new Chapter({page: 5, title: "The Middle"}));
chapters.add(new Chapter({page: 1, title: "The Beginning"}));
chapters.pluck('title');
# OUTPUT
# ["The Beginning", "The Middle", "The End"]
Обратите внимание, как компаратор возвращает значение, сохраненное в атрибуте страницы каждой главы.Сортировка коллекции Backbone действует как sortBy, который использует строки или целые числа и не следует традиционному подходу сравнения -1,0,1.