我试图创建一个空数组数组,其数量取决于N.目前,我有这个:
var seqList = [];
for(var i = 0; i < N; i++) {
seqList.push([]);
}
这是最有效的方式吗?或者可能有另一种方式?
答案 0 :(得分:2)
您的方法是最有效的方法。您也可以使用Array.fill
中的ES6
方法,但效率最高。
let n=10;
let array=Array.from({ length: n }, () => []);
console.log(array);
当你使用let array=[]
时,你告诉解释器创建一个新的运行时数组。
如果你使用:var a = new Array()
,你告诉解释你要调用构造函数Array
,生成一个对象并创建你的数组。
答案 1 :(得分:0)
Array#fill
是最干净的
let count = 10;
let seqList = Array(count).fill([]);
<强>更新强>
在受到@deceze的教育后,我宁愿使用,因为上面的例子失败是一种非常微妙的方式。
let count = 10;
let seqList = Array(count).fill(0).map(_ => []);
这比你的尝试好吗?可能不是。我已经习惯了阅读map / reduce,我更喜欢它。 YMMV