Sort array of JavaScript objects by property value [duplicate]
I just went through lodash doc, and perhaps you could try sortBy
Try it: http://jsfiddle.net/3Wza8/
var myObjects = [ { id: '1', username: 'bill.jones', active: true, createdon: new Date('03/29/2014') }, { id: '2', username: 'woohoo', active: true, createdon: new Date('03/28/2014') }, { id: '3', username: 'someuser', active: true, createdon: new Date('03/30/2014') }];myObjects = _.sortBy(myObjects, 'createdon');_.forEach(myObjects, function (result) { console.log(result);});
EDIT: as Cookie Monster pointed out, it's important that your createdon
field is a Date, and not a string.
The problem is that sort
expects a function which returns -1, 0 or 1. Your function only returns 0 and 1.
This slight change should fix it:
myObjects.sort(function (a, b) { var date1 = new Date(a['createdon']); var date2 = new Date(b['createdon']); return date1 - date2;});