JS二维数组初始化
目录
【JS】二维数组初始化
1. 错误写法
const arr = new Array(2).fill(new Array(2).fill(0)); // [ [ 0, 0 ], [ 0, 0 ] ]
arr[0][0] = 1; // 错误 [ [ 1, 0 ], [ 1, 0 ] ]
2. 正确写法1
fill + map
const arr = new Array(2).fill(0).map(() => new Array(2).fill(0));
arr[0][0] = 1; // 正确 [ [ 1, 0 ], [ 0, 0 ] ]
3. 正确写法2
for 循环创建
const arr = new Array(2);
for (let i = 0; i < arr.length; i++) {
arr[i] = new Array(2).fill(0);
}
arr[0][0] = 1; // 正确 [ [ 1, 0 ], [ 0, 0 ] ]
4. 正确写法3
双重 for 循环逐元素填充
const arr = new Array();
for (let i = 0; i < 2; i++) {
arr[i] = new Array();
for (let j = 0; j < 2; j++) {
arr[i][j] = 0;
}
}
arr[0][0] = 1; // 正确 [ [ 1, 0 ], [ 0, 0 ] ]