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

วิธีที่ดีที่สุดในการ Flatten Object ที่มี Array Properties ใน JavaScript

สมมติเรามีออบเจกต์ของอาร์เรย์แบบนี้:

const obj = {
  arr_a: [9, 3, 2],
  arr_b: [1, 5, 0],
  arr_c: [7, 18]
};

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับออบเจกต์แบบนี้ ฟังก์ชันควรสร้างอาร์เรย์ที่ flattened และ merged จากออบเจกต์นี้

ดังนั้น อาร์เรย์ผลลัพธ์สุดท้ายควรเป็น:

const output = [9, 3, 2, 1, 5, 0, 7, 18];

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

const obj = {
  arr_a: [9, 3, 2],
  arr_b: [1, 5, 0],
  arr_c: [7, 18]
};
const objectToArray = (obj = {}) => {
  const res = [];
  for(key in obj){
    const el = obj[key];
    res.push(...el);
  };
  return res;
};
console.log(objectToArray(obj));

ผลลัพธ์

ผลลัพธ์ที่แสดงในคอนโซลจะเป็นดังนี้:

[
  9, 3, 2, 1,
  5, 0, 7, 18
]