สมมติว่าเราต้องแปลงอาร์เรย์ต่อไปนี้เป็นอาร์เรย์ของวัตถุด้วยคีย์เป็นตัวอักษรภาษาอังกฤษ
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 } ]