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

แปลงอาร์เรย์ 2 มิติเป็นอ็อบเจกต์ด้วย map หรือ reduce ใน JavaScript

สมมติว่าเรามีอาร์เรย์สองมิติที่เก็บข้อมูลอายุของคนๆหนึ่งดังนี้:

const data = [
  ['Rahul', 23],
  ['Vikky', 27],
  ['Sanjay', 29],
  ['Jay', 19],
  ['Dinesh', 21],
  ['Sandeep', 45],
  ['Umesh', 32],
  ['Rohit', 28]
];

เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ 2 มิตินี้และคืนค่าอ็อบเจกต์ที่มี key เป็นองค์ประกอบตัวแรกของแต่ละซับอาร์เรย์ (ชื่อ) และ value เป็นองค์ประกอบตัวที่สอง (อายุ)

เราจะใช้เมธอด Array.prototype.reduce() เพื่อสร้างอ็อบเจกต์นี้ โค้ดสำหรับทำสิ่งนี้คือ:

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

const data = [
  ['Rahul', 23],
  ['Vikky', 27],
  ['Sanjay', 29],
  ['Jay', 19],
  ['Dinesh', 21],
  ['Sandeep', 45],
  ['Umesh', 32],
  ['Rohit', 28]
];

const constructObject = arr => {
  return arr.reduce((acc, val) => {
    const [key, value] = val;
    acc[key] = value;
    return acc;
  }, {});
};

console.log(constructObject(data));

ผลลัพธ์

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

{
  Rahul: 23,
  Vikky: 27,
  Sanjay: 29,
  Jay: 19,
  Dinesh: 21,
  Sandeep: 45,
  Umesh: 32,
  Rohit: 28
}