Предполагая, что 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 Collections:
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