用 JavaScript 根据日期对数组排序


假设,我们有一个这样的对象数组 −

const arr = [{id: 1, date: 'Mar 12 2012 10:00:00 AM'}, {id: 2, date: 'Mar 8 2012 08:00:00 AM'}];

我们要求编写一个 JavaScript 函数,该函数接受其中一个这样的数组,并根据每个对象的日期属性对该数组进行排序。

(要么按最新或最旧的顺序)。

方法应该是将这些转换为 JS Date 对象,然后比较它们的时间戳以对数组进行排序。

示例

对此的代码如下 −

const arr = [{id: 1, date: 'Mar 12 2012 10:00:00 AM'}, {id: 2, date: 'Mar 8 2012 08:00:00 AM'}];
const sortByDate = arr => {
   const sorter = (a, b) => {
      return new Date(a.date).getTime() - new Date(b.date).getTime();
   }
   arr.sort(sorter);
};
sortByDate(arr);
console.log(arr);

输出

控制台中的输出如下 −

[
   { id: 2, date: 'Mar 8 2012 08:00:00 AM' },
   { id: 1, date: 'Mar 12 2012 10:00:00 AM' }
]

更新于:20-11-2020

4K+ 次浏览

开启你的 职业生涯

通过完成课程获取认证

立即开始
广告
© . All rights reserved.