我正在尝试设置一个二维数组,该数组应在特定的子数组处接收值。我用以下方法创建了数组:
myArray = Array(100).fill([])
现在,假设我要输入一个值来表示40号子数组
我正在这样做:
myArray [40] .push(“ myValue”)
我希望将值仅推送到myArray [40],而不是将其作为一百个子数组中每个数组的第一个元素进行推送。
我已经搜索了很长时间,但是我仍然不知道自己在做什么错。请帮忙。
答案 0 :(得分:0)
fill
会将相同的值压入每个元素,而不是其副本。当它是数字或字符串或其他不可变的东西时,这很好。但是现在每个副本都是对同一对象的引用。
有多种方法可以解决此问题。这是一个(切换到十个元素进行演示):
const myArray = [...Array(10)].map((_, i) => [])
myArray[4].push('myValue')
console.log(myArray)