Backbone sorting Collections
by johnwun
HTML
<script src="http://documentcloud.github.com/underscore/underscore-min.js"></script>
<script src="http://documentcloud.github.com/backbone/backbone.js"></script>
JavaScript
var Book = Backbone.Model.extend({});
var Books = Backbone.Collection.extend({
model:Book,
comparator: function(a,b){
var year = a.get('year') -b.get('year');
if(year === 0){
return a.get('title')<b.get('title') ? -1 : 1;
}else{
return year;
}
}
});
var books = new Books();
books.add({title:"Book A", year: 2011});
books.add({title:"Book C", year: 2012});
books.add({title:"Book A", year: 2012});
books.add({title:"Book B", year: 2012});
books.add({title:"Book C", year: 2010});
books.add({title:"Book A", year: 2008});
console.log(books.pluck('title'));
console.log(books.pluck('year'));