# 如何寫JavaScript二維數組
## 什么是二維數組?
二維數組是數組的數組,即每個元素本身也是一個數組。這種數據結構常用于表示表格、矩陣或網格數據(如棋盤、Excel表格等)。在JavaScript中,二維數組是通過嵌套的一維數組實現的。
## 創建二維數組的3種方法
### 1. 字面量直接聲明
```javascript
const matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
// 創建3x3的空二維數組
const rows = 3, cols = 3;
const grid = [];
for (let i = 0; i < rows; i++) {
grid[i] = []; // 初始化每一行
for (let j = 0; j < cols; j++) {
grid[i][j] = 0; // 默認填充0
}
}
// 創建4x4數組并用null初始化
const size = 4;
const board = Array.from({ length: size }, () =>
Array.from({ length: size }).fill(null)
);
const value = matrix[1][2]; // 獲取第2行第3列的值(6)
matrix[0][1] = 99; // 將第1行第2列改為99
// 使用嵌套forEach
matrix.forEach(row => {
row.forEach(cell => {
console.log(cell);
});
});
// 使用for循環
for (let i = 0; i < matrix.length; i++) {
for (let j = 0; j < matrix[i].length; j++) {
console.log(matrix[i][j]);
}
}
動態創建不規則二維數組:
const jaggedArray = [
[1],
[2, 3],
[4, 5, 6]
];
使用map轉換:
const doubled = matrix.map(row =>
row.map(cell => cell * 2)
);
快速轉置矩陣:
const transpose = matrix[0].map((_, i) =>
matrix.map(row => row[i])
);
直接復制二維數組需要使用深拷貝:
const copy = JSON.parse(JSON.stringify(matrix));
檢查是否為有效二維數組:
function is2DArray(arr) {
return Array.isArray(arr) && arr.every(Array.isArray);
}
性能考慮:對于大型數組,循環操作可能比高階函數(如map)更高效。
掌握二維數組的操作是JavaScript開發中的重要基礎技能,合理運用可以高效處理各種結構化數據。 “`
文章共計約650字,涵蓋了二維數組的創建、操作、技巧和注意事項,采用Markdown格式并包含代碼塊,適合技術文檔閱讀。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。