二维数组是一组共享相同名称的项目。二维数组是数组的数组,也就是说,创建一维数组对象的数组。它们以行和列的形式排列成矩阵。
JavaScript建议了一些创建二维数组的方法。
数组构造¶
您可以使用数组构造函数和for循环来创建2D数组,如下所示:
const m = 4;
const n = 5;
let arr = new Array(m); // create an empty array of length n
for (var i = 0; i < m; i++) {
arr[i] = new Array(n); // make each element an array
}
console.log(arr); // Output: [ [ <5 empty items> ], [ <5 empty items> ], [ <5 empty items> ], [ <5 empty items> ] ]
数组文字符号¶
文字符号方法也可以用于创建2D数组:
const m = 4;
const n = 5; // Note 2nd dimention is not relevant here
let arr = [];
for (var i = 0; i < m; i++) {
arr[i] = [];
}
console.log(arr); // Output: [ [], [], [], [] ]
所述Array.from()方法¶
该Array.from()方法将从具有length属性或可迭代对象的任何JavaScript对象中返回一个数组对象。
const m = 4;
const n = 5;
let arr = Array.from(Array(m), () => new Array(n));
console.log(arr); // Output: [ [ <5 empty items> ], [ <5 empty items> ], [ <5 empty items> ], [ <5 empty items> ] ]
Array.prototype.map()方法¶
您也可以直接调用map()函数:
const m = 4;
const n = 5;
let arr = Array(m).fill().map(() => Array(n));
console.log(arr); // Output: [ [ <5 empty items> ], [ <5 empty items> ], [ <5 empty items> ], , [ <5 empty items> ] ]
多维数组¶
多维数组在JavaScript中称为另一个数组内部的数组,因为它们是使用另一个一维数组创建的。
它们可以具有两个以上的维度。二维数组也称为矩阵或行和列的表。