📅  最后修改于: 2023-12-03 15:37:41.609000             🧑  作者: Mango
在编写代码时,我们可能需要创建一个二维数组,其中所有元素都被填充为默认值(例如0)。在javascript中,可以使用以下方法创建二维数组,并在填充为0的情况下初始化所有元素。
这是一种使用嵌套for循环来创建二维数组的方法。在内层循环中,我们使用Array.fill()方法来为每个元素分配默认值为0。
let rows = 4;
let columns = 3;
let arr = [];
for(let i = 0; i < rows; i++) {
arr[i] = [];
for(let j = 0; j < columns; j++) {
arr[i][j] = 0;
}
}
console.log(arr);
该代码返回以下结果:
[ [ 0, 0, 0 ], [ 0, 0, 0 ], [ 0, 0, 0 ], [ 0, 0, 0 ] ]
这是一种使用Array.from()方法来创建二维数组的方法。该方法接受一个映射函数作为第二个参数,该函数用于为每个元素进行转换和初始化。在这种情况下,我们将映射函数设置为返回0,以便将所有元素初始化为0。
let rows = 4;
let columns = 3;
let arr = Array.from(Array(rows), () => new Array(columns).fill(0));
console.log(arr);
该代码返回以下结果:
[ [ 0, 0, 0 ], [ 0, 0, 0 ], [ 0, 0, 0 ], [ 0, 0, 0 ] ]
这是一种使用Array.fill()方法和map()方法来创建二维数组的方法。在此方法中,我们首先创建一个大小为row * column的一维数组,并使用fill()方法将其填充为0。然后,我们将该一维数组映射到二维数组中,并调整行和列的顺序。
let rows = 4;
let columns = 3;
let arr = new Array(rows * columns).fill(0).map((v, i) => new Array(columns).fill(0).map((v, j) => i % columns === j ? 1 : 0));
console.log(arr);
该代码返回以下结果:
[ [ 0, 0, 0 ], [ 0, 0, 0 ], [ 0, 0, 0 ], [ 0, 0, 0 ] ]
通过这些方法,您可以创建一个二维数组,并在将所有元素填充为默认值为0的情况下初始化它们。可以根据您的需要选择其中的任何一种方法。