为什么[[],[],[]]与新Array(3).fill([])不同?

时间:2019-01-11 16:46:27

标签: javascript

所以我的问题与标题中的相同。我看到有人在这里发起了类似的事情(If we create an array of objects using new Array(len).fil({}); and then add a key in any of the objects, it gets reflected in all the 3 objects),但是当每个人都指责询问问题的方法不正确时,没人给出明确的答案。

2 个答案:

答案 0 :(得分:2)

Array(3).fill([])创建3个元素,引用所传递的对象。

答案在javascript文档中很清楚:

  

fill()方法从一开始就填充数组的所有元素   索引到具有静态值

的最终索引

答案 1 :(得分:1)

在我看来,您所链接的问题中的唯一答案非常清楚。

Array.fill用 static 值“填充”数组。也就是说,您正在在单个空数组上创建,然后在所有三个位置都对其进行引用,因此,它是每个外部数组索引中的相同数组

相关问题