<分区>
当我使用 Array.fill 填充多维数组时,在推送到其中一个数组时出现奇怪的行为:
var arr = Array(2).fill([]);
arr[0].push(5);
console.log(arr);
//=> prints [[5], [5]]
标签 javascript arrays
<分区>
当我使用 Array.fill 填充多维数组时,在推送到其中一个数组时出现奇怪的行为:
var arr = Array(2).fill([]);
arr[0].push(5);
console.log(arr);
//=> prints [[5], [5]]
最佳答案
fill
本质上是这样做的:
var content = [];
for (var i = 0; i < 2; i += 1) {
arr[i] = content;
}
因此,您的数组将引用您传递给每个属性中的 fill
的数组。
关于javascript - Array.fill 中的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40931990/