【发布时间】:2020-06-18 23:41:46
【问题描述】:
有人可以解释一下这段代码是如何工作的吗:
let arr = Array(3).fill({}) // [{}, {}, {}]
arr[0].hi = "hi" // [{ hi: "hi" }, { hi: "hi" }, { hi: "hi" }]
为什么引用所有元素?我如何只引用第一个?
【问题讨论】:
-
每个数组元素都指向同一个对象。
-
完美,谢谢@ElAoutarHamza
-
您可以引用第一个元素而不引用其余元素,方法是复制它的值,将值设置为其他值并重新插入,如下所示:
let f = arr[0]; f={hi: "hi"}; arr[0] = first;
标签: javascript arrays object reference