用 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.