Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

จัดเรียงอาร์เรย์ตามวันที่ต่ำสุดและสูงสุดใน 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' }