假设我们有一个像这样的对象数组-
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' } ]