【发布时间】:2022-01-20 00:56:39
【问题描述】:
我正在尝试将某个值放入某个二维数组中,但它的附加值不同。
这是我的代码。
const arr = []
const tdArr = []
arr.length = 5
arr.fill('p', 0)
for(let i = 0; i < arr.length; i++){
tdArr.push(arr)
}
const makeRnd = (min, max) => {
min = Math.ceil(min)
max = Math.floor(max)
return Math.floor(Math.random() * (max - min)) + min
}
let firstRnd = makeRnd(0, 4)
let secRnd = makeRnd(0, 4)
let tdArr2 = [...tdArr]
tdArr2[firstRnd][secRnd] = 'q'
console.log(tdArr2)
我不知道为什么不(例如)tdArr2[0][1] 没有改变,但也改变了数组的所有第二个值。
这似乎很容易,但不能谷歌它:( 感谢您的帮助!
【问题讨论】:
-
您正在使用对同一数组的引用填充数组。
-
在
for循环内创建嵌套数组,而不是在循环之前一次。
标签: javascript arrays multidimensional-array