Reputation: 807
Here is my array
arr=[
{
date:'2017-06-14 14:03:49'
},
{
date:'2017-04-20 10:25:32'
},
{
date:'2017-06-02 15:57:16'
},
{
date:'2017-06-02 17:52:05'
},
{
date:'2017-06-02 21:47:13'
},
{
date:'2017-06-14 14:01:31'
}
]
I need sort an array by date.
How can i do this,
Kindly advice me,
Thanks
Upvotes: 1
Views: 12622
Reputation: 115212
Use Array#sort
method and within compare function parse the string and return value corresponding by getting the difference.
var arr = [{
date: '2017-06-14 14:03:49'
}, {
date: '2017-04-20 10:25:32'
}, {
date: '2017-06-02 15:57:16'
}, {
date: '2017-06-02 17:52:05'
}, {
date: '2017-06-02 21:47:13'
}, {
date: '2017-06-14 14:01:31'
}];
arr.sort(function(a, b) {
// convert date object into number to resolve issue in typescript
return +new Date(a.date) - +new Date(b.date);
})
console.log(arr);
Refer the issue in git: Error when doing arithmetic operations on date
Or refer : TypeScript sort by date not working
Upvotes: 10