Предполагая, что здесь что originalCollection
ваша существующая коллекция
var newCollection = new Backbone.Collection();
for (var i = 0, l = originalCollection.length; i < l; i++) {
if (i % 3 === 0) { newCollection.add(originalCollection.models[i]); }
}
Этот код работает циклически каждой существующей модели, и только при добавлении модели в такой новой коллекции, если это индекс кратно 3.
Вы можете сделать это немного лучше, с помощью подчеркивания each
метод, предоставляемых Underscore.js в Backbone Коллекции:
var newCollection = new Backbone.Collection();
originalCollection.each(function (model, index) {
if (index % 3 === 0) { newCollection.add(model); }
});
Преобразования выше результаты в CoffeeScript:
newCollection = new Backbone.Collection()
originalCollection.each (model, index) ->
newCollection.add model if index % 3 is 0
благодарит за подробный ответ! – liorix