สมมติว่าเรามีอาร์เรย์สองมิติที่เก็บข้อมูลอายุของคนๆหนึ่งดังนี้:
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
}