สมมติว่าเรามีอาร์เรย์ 2 มิติแบบนี้:
const arr = [ [3, 1], [2, 12], [3, 3] ];
เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ดังกล่าว ฟังก์ชันควรสร้างอาร์เรย์ 2 มิติใหม่ที่มีสมาชิกทั้งหมดเริ่มต้นเป็น undefined ยกเว้นดัชนีของสมาชิกที่มีอยู่ในอาร์เรย์อินพุต
ดังนั้น สำหรับอาร์เรย์อินพุต:
output[3][1] = 1; output[2][12] = 1; output[3][3] = 1;
และสมาชิกที่เหลือทั้งหมดควรเริ่มต้นเป็น undefined ดังนั้น ผลลัพธ์สุดท้ายควรเป็นดังนี้:
const output = [
undefined,
undefined,
[
undefined,
undefined,
undefined,
undefined,
undefined,
undefined,
undefined,
undefined,
undefined,
undefined,
undefined,
undefined,
1
],
[
undefined,
1,
undefined,
1
]
];
ตัวอย่างโค้ด
โค้ดสำหรับทำสิ่งนี้คือ:
const arr = [
[3, 1],
[2, 12],
[3, 3]
];
const map2D = (arr = []) => {
const res = [];
arr.forEach(el => {
res[el[0]] = res[el[0]] || [];
res[el[0]][el[1]] = 1;
});
return res;
};
console.log(map2D(arr));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้:
[ <2 empty items>, [ <12 empty items>, 1 ], [ <1 empty item>, 1, <1 empty item>, 1 ] ]