如何根據 JavaScript 中的最小和最大日期對陣列進行排序?


假設我們有一個字串日期陣列,如下所示:

const arr = [
   "2017-01-22 00:21:17.0",
   "2017-01-27 11:30:23.0",
   "2017-01-24 15:53:21.0",
   "2017-01-27 11:34:18.0",
   "2017-01-26 16:55:48.0",
   "2017-01-22 11:57:12.0",
   "2017-01-27 11:35:43.0"
];

我們需要編寫一個 JavaScript 函式,該函式採用這樣的陣列。函式應從此陣列中找到最舊和最新的日期。

然後,函式最後應返回包含這兩個日期的物件。

示例

const arr = [
   "2017-01-22 00:21:17.0",
   "2017-01-27 11:30:23.0",
   "2017-01-24 15:53:21.0",
   "2017-01-27 11:34:18.0",
   "2017-01-26 16:55:48.0",
   "2017-01-22 11:57:12.0",
   "2017-01-27 11:35:43.0"
];
const findMinMaxDate = (arr = []) => {
   const res = arr.reduce((acc, val, ind) => {
      if (!ind) {
         return {
            min: val, max: val};
         };
         if (val < acc.min) {
            acc.min = val;
         };
         if (val > acc.max) {
            acc.max = val;
      };
      return acc;
   },
   undefined);
   return res;
};
console.log(findMinMaxDate(arr));

輸出

在控制檯中的輸出將是:

{ min: '2017-01-22 00:21:17.0', max: '2017-01-27 11:35:43.0' }

更新於: 23-Nov-2020

546 次瀏覽

開啟您的職業

完成課程即可獲得認證

開始
廣告