空时执行JavaScript 2D数组推送

时间:2018-09-19 19:43:44

标签: javascript arrays

因此,我一直在尝试创建一个空的2d数组,并尝试将值推入其中。 以下代码如下。

// Create an array like [[],[]]
let series = new Array(2).fill([]);
//try to push value into the array in position 0 like [[5],[]]
series[0].push(5); // output here is [[5],[5]]

如何将元素推入索引为0的数组?

我缺少一些东西。任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:1)

使用fill([])时,它将创建一个数组,并使用对该数组的引用填充所有内容。您可以使用map()Array.from()之类的东西,它们将在每次迭代时创建一个新的数组对象:

let series =  Array.from({length: 2}, () => []);

series[0].push(5); 
console.log(series)

答案 1 :(得分:0)

改为使用[...Array(2)].map(a=>[]);

使用填充时,将相同的对象引用分配给所有内容

let series = [...Array(2)].map(a=>[]);
series[0].push(5);

console.log(series)