js创建多维数组
封面图
•
2025-11-25
•
JavaScript
193
0
0
0
在 JavaScript 中,创建**多维数组**(即数组中包含其他数组)有多种方式。下面是几种常见的方法: --- ### ✅ 方法 1:直接初始化 ```javascript let arr = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]; console.log(arr[0][1]); // 输出: 2 ``` --- ### ✅ 方法 2:使用 `Array` 构造函数和 `map` ```javascript let rows = 3; let cols = 3; let arr = Array.from({ length: rows }, () => Array.from({ length: cols }, (_, i) => i + 1) ); console.log(arr); // 输出: // [ // [1, 2, 3], // [4, 5, 6], // [7, 8, 9] // ] ``` --- ### ✅ 方法 3:使用嵌套循环创建 ```javascript let rows = 3; let cols = 3; let arr = []; for (let i = 0; i < rows; i++) { arr[i] = []; for (let j = 0; j < cols; j++) { arr[i][j] = i * cols + j + 1; } } console.log(arr); // 输出: // [ // [1, 2, 3], // [4, 5, 6], // [7, 8, 9] // ] ``` --- ### ✅ 方法 4:创建一个全为 0 的二维数组(常用于矩阵) ```javascript let rows = 3; let cols = 3; let arr = Array.from({ length: rows }, () => Array(cols).fill(0) ); console.log(arr); // 输出: // [ // [0, 0, 0], // [0, 0, 0], // [0, 0, 0] // ] ``` --- ### 📌 注意事项: - 如果你只是复制一个二维数组,要小心**浅拷贝**问题,例如: ```javascript let arr = [[1, 2], [3, 4]]; let copy = arr.slice(); // 浅拷贝,只复制了外层数组的引用 copy[0][0] = 99; console.log(arr); // 输出: [[99, 2], [3, 4]] ``` 如果想深拷贝,可以使用: ```javascript let copy = JSON.parse(JSON.stringify(arr)); ``` 或者使用 `map` 创建新数组: ```javascript let copy = arr.map(sub => sub.slice()); ``` --- 如果你有具体的用途(比如游戏棋盘、矩阵运算等),我可以帮你写更具体的代码 😊
上一篇:
JavaScript常用检测脚本 2
下一篇:
JavaScript常用检测脚本
标题录入,一次不能超过6条
留言
评论