在JavaScript中按日期对数组进行排序

假设我们有一个像这样的对象数组-

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

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

(最新的优先或旧的优先)。

方法应该是将它们转换为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' }
]