Giả sử, chúng ta có một mảng 2-D như thế này -
const arr = [ [3, 1], [2, 12], [3, 3] ];
Chúng tôi được yêu cầu viết một hàm JavaScript có trong một mảng như vậy.
Sau đó, hàm sẽ tạo một mảng 2-D mới chứa tất cả các phần tử được khởi tạo thành không xác định khác với chỉ số của phần tử có trong mảng đầu vào.
Do đó, đối với mảng đầu vào,
output[3][1] = 1; output[2][12] = 1; output[3][3] = 1;
Và phần còn lại tất cả các phần tử nên được khởi tạo thành không xác định
Do đó, kết quả cuối cùng sẽ giống như -
const output = [ undefined, undefined, [ undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, 1 ], [ undefined, 1, undefined, 1 ] ];
Ví dụ
Mã cho điều này sẽ là -
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));
Đầu ra
Và đầu ra trong bảng điều khiển sẽ là -
[ <2 empty items>, [ <12 empty items>, 1 ], [ <1 empty item>, 1, <1 empty item>, 1 ] ]