📜  如何在 js 中创建二维数组 - Javascript (1)

📅  最后修改于: 2023-12-03 15:08:40.468000             🧑  作者: Mango

如何在 JavaScript 中创建二维数组

在 JavaScript 中创建二维数组,也称为矩阵,可以用多种方法实现。本篇文章将为您介绍其中的几种方法。

1. 直接初始化

我们可以直接使用数组字面量初始化一个二维数组。例如,要创建一个 2 行 3 列的矩阵,可以如下写:

const matrix = [
  [1, 2, 3],
  [4, 5, 6]
];
console.log(matrix); // [[1, 2, 3], [4, 5, 6]]

上述代码创建了一个二维数组 matrix,它包含 2 个子数组,每个子数组中包含 3 个元素。

2. 使用循环逐个添加

另一种常见的创建二维数组的方法是使用循环逐个添加元素。例如,要创建一个 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 个元素。我们使用了两层循环来逐个添加元素。

3. 使用Array.from方法

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 元素。

4. 使用fill方法和map方法

我们也可以使用 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 中创建二维数组的几种方法。您可以根据需要选择适合的方法。本文提到的方法样式灵活、代码简单,相信对于初学者也容易理解。