ANISUNDAR
ANISUNDAR

Reputation: 807

How to sort array by date

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

Answers (1)

Pranav C Balan
Pranav C Balan

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

Related Questions