สมมติว่าเราต้องแปลงอาร์เรย์ต่อไปนี้เป็นอาร์เรย์ของวัตถุด้วยคีย์เป็นตัวอักษรภาษาอังกฤษ
const data = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]];
ซึ่งสามารถทำได้โดยการทำแผนที่เหนืออาร์เรย์จริงและลดอาร์เรย์ย่อยลงในวัตถุดังตัวอย่างด้านล่าง -
ตัวอย่าง
const data = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]];
const dataArr = data.map(arr => {
return arr.reduce((acc, cur, index) => ({
...acc,
[String.fromCharCode(97 + index)]: cur
}), Object.create({}))
});
console.log(dataArr); ผลลัพธ์
เอาต์พุตคอนโซลสำหรับรหัสนี้จะเป็น −
[
{ a: 1, b: 2, c: 3, d: 4 },
{ a: 5, b: 6, c: 7, d: 8 },
{ a: 9, b: 10, c: 11, d: 12 }
]