如何按日期排序数组

时间:2017-06-16 06:19:05

标签: javascript arrays

这是我的数组

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'
}
]

我需要按日期对数组进行排序。

我该怎么做呢,

请建议我,

由于

1 个答案:

答案 0 :(得分:7)

使用Array#sort方法并在compare函数中解析字符串并通过获取差异来返回相应的值。



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);




请参阅git:Error when doing arithmetic operations on date

中的问题

或参考:TypeScript sort by date not working