首页 > 解决方案 > 使用新数组创建数组数组并填写 Javascript 时的奇怪行为

问题描述

当我使用以下代码创建一个空数组数组时:

const arrayOfArrays = new Array(3).fill([])

正如预期的那样,我得到了[[],[],[]. 但是,假设我通过以下方式更改值:

arrayOfArrays[0][0] = 'foo'

我希望得到[['foo'],[],[]],但我最终得到[['foo'],['foo'],['foo']]. 为什么会这样?我怎样才能得到它以使其按预期工作?

标签: javascriptarraysecmascript-6

解决方案


推荐阅读