Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การลดอาร์เรย์ใน JavaScript


ภาพรวม

สมมติว่าเรามีอาร์เรย์ของอ็อบเจ็กต์:

const arr = [
  {"time":"18:00:00"},
  {"time":"10:00:00"},
  {"time":"16:30:00"}
];

เราต้องเขียนฟังก์ชันที่ทำดังนี้:

  1. ดึงเวลาจาก JSON: 18:00:00, 10:00:00, 16:30:00
  2. แปลงเวลาเป็น: [18,0], [10,0], [16,30]
  3. ใส่ในอาร์เรย์
  4. คืนค่าอาร์เรย์สุดท้าย

ตัวอย่างโค้ด

const arr = [
  {"time":"18:00:00"},
  {"time":"10:00:00"},
  {"time":"16:30:00"}
];

const reduceArray = (arr = []) => {
  let res = [];
  res = arr.map(obj => {
    return obj['time'].split(':').slice(0, 2).map(el => {
      return +el;
    });
  });
  return res;
};

console.log(reduceArray(arr));

ผลลัพธ์ในคอนโซล

[ [ 18, 0 ], [ 10, 0 ], [ 16, 30 ] ]