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' }