gpt4 book ai didi

javascript - 为 2D javascript 数组中的每个元素使用随机值初始化新对象?

转载 作者:行者123 更新时间:2023-12-04 10:24:27 24 4
gpt4 key购买 nike

我正在尝试执行此基本迭代和对象初始化,但似乎每一行都是使用包含相同 ID 的对象创建的。我疯了吗?

function makeGrid (cols, rows) {
const grid = new Array(cols).fill(new Array(rows))
for (let i = 0; i < cols; i++) {
for (let j = 0; j < rows; j++) {
grid[i][j] = {id: random()}
}
}
return grid
}

这是结果:
enter image description here

最佳答案

感谢@Scott Hunter 和@ASDFGerte(在评论中):
问题是 new Array(cols).fill(new Array(rows)) .这是用对另一个新数组的引用填充新启动的数组 new Array(rows) .我想做的是为 cols 中的每个元素创建新数组大批。这解决了这个问题:

[...new Array(cols)].map(() => new Array(rows))

关于javascript - 为 2D javascript 数组中的每个元素使用随机值初始化新对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60688056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com