📅  最后修改于: 2023-12-03 15:08:40.468000             🧑  作者: Mango
在 JavaScript 中创建二维数组,也称为矩阵,可以用多种方法实现。本篇文章将为您介绍其中的几种方法。
我们可以直接使用数组字面量初始化一个二维数组。例如,要创建一个 2 行 3 列的矩阵,可以如下写:
const matrix = [
[1, 2, 3],
[4, 5, 6]
];
console.log(matrix); // [[1, 2, 3], [4, 5, 6]]
上述代码创建了一个二维数组 matrix
,它包含 2 个子数组,每个子数组中包含 3 个元素。
另一种常见的创建二维数组的方法是使用循环逐个添加元素。例如,要创建一个 3 行 3 列的矩阵,可以如下写:
const matrix = [];
const rows = 3, cols = 3;
for (let i = 0; i < rows; i++) {
matrix[i] = [];
for (let j = 0; j < cols; j++) {
matrix[i][j] = i * cols + j + 1;
}
}
console.log(matrix); // [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
上述代码创建了一个二维数组 matrix
,它包含 3 个子数组,每个子数组中包含 3 个元素。我们使用了两层循环来逐个添加元素。
Array.from
方法可以从一个类数组对象或可迭代对象创建一个数组。我们可以使用它来创建一个二维数组。例如,要创建一个 3 行 3 列的矩阵,可以如下写:
const rows = 3, cols = 3;
const matrix = Array.from({length: rows}, () => Array.from({length: cols}));
console.log(matrix); // [[undefined, undefined, undefined], [undefined, undefined, undefined], [undefined, undefined, undefined]]
上述代码创建了一个二维数组 matrix
,它包含 3 个子数组,每个子数组中有 3 个 undefined
元素。
我们也可以使用 fill
方法和 map
方法结合起来创建一个二维数组。例如,要创建一个 3 行 2 列的矩阵,可以如下写:
const rows = 3, cols = 2;
const matrix = Array(rows).fill().map(() => Array(cols).fill());
console.log(matrix); // [[undefined, undefined], [undefined, undefined], [undefined, undefined]]
上述代码创建了一个二维数组 matrix
,它包含 3 个子数组,每个子数组中有 2 个 undefined
元素。
以上就是在 JavaScript 中创建二维数组的几种方法。您可以根据需要选择适合的方法。本文提到的方法样式灵活、代码简单,相信对于初学者也容易理解。