2016-06-13 32 views
0

创建米如何创建[m, n]尺寸阵列中ES6使用Array.fill或从乘N阵列

var x = Array.from(Array(5),() => 0) 

预填充有0给出长度5的阵列我需要一个与5X3

var x = Array.from(Array(Array.from(Array(3),()=>0)),() => 0) 

回答

3

n零创建一个数组:

Array(n).fill(0) 

创建其中包含与n零同一阵列m倍的数组:

Array(m).fill(Array(n).fill(0)); 

创建包含m不同阵列与n零的阵列:

Array(m).fill().map(() => Array(n).fill(0)); 

实施例:

console.log(JSON.stringify(Array(5).fill().map(() => Array(3).fill(0))));

+1

另请参见[最有效的方式来创建一个零填充JavaScript数组?](http://stackoverflow.com/q/1295584/1529630)和[阵列。具有对象的prototype.fill()传递引用而不是新实例](http://stackoverflow.com/q/35578478/1529630) – Oriol

2

你的语法不正确做到像

var x = Array.from(Array(5),() => Array.from(Array(3),() => 0)); 
 

 
console.log(x);