สมมุติว่าเรามีอาร์เรย์ 2 มิติแบบนี้ -
const arr = [ [3, 1], [2, 12], [3, 3] ];
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ดังกล่าว
จากนั้นฟังก์ชันควรสร้างอาร์เรย์ 2 มิติใหม่ที่มีองค์ประกอบทั้งหมดที่เริ่มต้นเป็น undefined นอกเหนือจากดัชนีขององค์ประกอบที่มีอยู่ในอาร์เรย์อินพุต
ดังนั้นสำหรับอาร์เรย์อินพุต
output[3][1] = 1; output[2][12] = 1; output[3][3] = 1;
และส่วนที่เหลือควรเริ่มต้นองค์ประกอบทั้งหมดเป็นไม่ได้กำหนด
ดังนั้นผลลัพธ์สุดท้ายควรมีลักษณะดังนี้ −
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 ] ]