在JavaScript中,二维数组可以看作是数组中的每个元素又是一个数组。以下是一些关于二维数组的基础概念、创建方法、遍历方式以及应用场景:
let arr = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
let rows = 3;
let cols = 3;
let arr = new Array(rows);
for (let i = 0; i < rows; i++) {
arr[i] = new Array(cols);
}
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr[i].length; j++) {
console.log(arr[i][j]);
}
}
arr.forEach(row => {
row.forEach(element => {
console.log(element);
});
});
undefined
或错误。解决方法:在访问元素前进行边界检查。
if (i >= 0 && i < arr.length && j >= 0 && j < arr[i].length) {
console.log(arr[i][j]);
}
解决方法:使用push
方法添加新行,或使用splice
方法在指定位置插入新行。
// 添加新行
arr.push([10, 11, 12]);
// 在第2行插入新行(索引从0开始)
arr.splice(1, 0, [13, 14, 15]);
解决方法:使用JSON.parse(JSON.stringify(arr))
进行深拷贝,或使用第三方库如Lodash的_.cloneDeep
方法。
let arrCopy = JSON.parse(JSON.stringify(arr));
希望以上内容能帮助你更好地理解和应用JavaScript中的二维数组。