JavaScript并不支持真正的多维数组,但我们可以通过数组的数组来模拟。例如要访问二维数组的值,使用[ ][ ]即可。
1.利用Array()构造函数方法
let m = 3, n = 4;
let arr = new Array(m);
for (let i = 0; i < arr.length; i++) {
arr[i] = new Array(n);
}
console.log(arr);//output:[[empty × 4],[empty × 4],[empty × 4]]
2.利用数组字面量方法
let m = 3;
let arr = [];
for (let i = 0; i < m; i++) {
arr[i] = [];
}
console.log(arr);//output: [ [], [], [] ]
3.利用Array.prototype.map()方法
map()
方法创建一个新数组,这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成。并且它不会改变原来的数组。
let m = 3,n = 4;
let arr = Array(m).fill().map(() => Array(n));
console.log(arr); //output:[[empty × 4],[empty × 4],[empty × 4]]
4.利用ES6新增的Array.from()方法
Array.from()
方法有一个可选参数 mapFn
,可以在最后生成的数组上再执行一次 map方法后再返回。
let m = 3,n = 4;
let arr = Array.from(Array(m),() => Array(n));
console.log(arr); //output:[[empty × 4],[empty × 4],[empty × 4]]