Array with object sorting with Underscore sortBy

Jack Dre picture Jack Dre · Sep 30, 2013 · Viewed 82.8k times · Source

I have this array. How do I use underscore '_.sortBy' to sort it according to start date?

[
    { 
        id: 'oljw832021kjnb389xzll323jk',
        start: { dateTime: '2013-09-26T13:30:00-07:00' },
        end: { dateTime: '2013-09-26T14:30:00-07:00' },
    },
    { 
        id: 'ed7l5tmckdp0lm90nvr4is3d4c',
        start: { dateTime: '2013-09-26T15:30:00-07:00' },
        end: { dateTime: '2013-09-26T16:30:00-07:00' },
    },
    { 
        id: 'etmasdsackdp0kjl0nvrkopioqw',
        start: { dateTime: '2013-09-26T18:00:00-07:00' },
        end: { dateTime: '2013-09-26T19:00:00-07:00' },
    }
]

Answer

Bergi picture Bergi · Sep 30, 2013

Use an iterator function, not a single string for a property:

_.sortBy(arr, function(o) { return o.start.dateTime; })