二维数组定义
行 row:是“横着的一整行”
列 column:是“竖着的一整列”
在 JavaScript 里访问二维数组
grid[i][j] 表示 第i行第j列的元素
let grid = [
[1, 2, 3], // 第0行
[4, 5, 6], // 第1行
[7, 8, 9] // 第2行
];
// grid[i][j] 表示 第i行第j列的元素
console.log(grid[0][0]); // 输出 1
console.log(grid[1][2]); // 输出 6
console.log(grid[2][1]); // 输出 8
输入一个 n x m 的矩阵表示什么?
n = 3 表示有 3 行
m = 4 表示每一行有 4 列
数组操作
遍历
for (let i = 0; i < n; i++) { // 遍历每一行
for (let j = 0; j < m; j++) { // 遍历每一列
console.log(`grid[${i}][${j}] = ${grid[i][j]}`);
}
}
构建
一个 n 行 m 列,初始全为 0 的数组
let n = 3; // 行数
let m = 4; // 列数
let grid = Array.from({ length: n }, () => Array(m).fill(0));
从输入中读取二维数组(岛屿问题)
const input = [
"3 4",
"1 2 3 4",
"5 6 7 8",
"9 0 1 2"
];
const [n, m] = input[0].split(' ').map(Number);
const grid = input.slice(1).map(row => row.split(' ').map(Number));
console.log(grid);