Backbone.js: Module 6 Working With Collections

by emgee

HTML

<script src="http://documentcloud.github.com/underscore/underscore.js"></script>
<script src="http://documentcloud.github.com/backbone/backbone.js"></script>

JavaScript

var collection = new Backbone.Collection();

collection.add(new Backbone.Model({name: "Fred", age: 30}));
collection.add({name: "Barney", age: 27});
collection.add([
    new Backbone.Model({name:"Wilma", age: 28}),
    new Backbone.Model({name:"Betty", age: 25})
]);

collection.forEach(function(model){
    console.log(model.get("name"));
});

var mapped = collection.map(function(model){
    return model.get("name").toUpperCase();
});

console.log(JSON.stringify(mapped));

var start = 0;

var totalAge = collection.reduce(function(memo, item){
    return memo + item.get("age");
}, start);

console.log(totalAge);

var wilma = collection.find(function(model){
    return model.get("name") === "Wilma";
});

console.log(JSON.stringify(wilma));