因此,我正在进行代码挑战,例如,我需要顺时针旋转2d数组:
此数组:
[[1,2,3],
[4,5,6],
[7,8,9]]
将如下所示:
[[7,4,1],
[8,5,2],
[9,6,3]]
为此,我正在尝试初始化一个填充有另一个空数组的空数组。这样我就可以在其中填充列以创建要返回的新数组。但是问题在于,当我更改子数组时,其他所有子数组也都发生了更改。
为什么会这样?哪种方法最适合这种情况?
我将在下面粘贴代码,以便您可以复制并在控制台中运行以查看发生了什么。
// this is an example of what is happening
let arr = [[1,2,3],[4,5,6],[7,8,9]]
const size = arr.length
let newArr = Array(size).fill(Array(size).fill(''))
// when I try to change the value of arr[0][0], it changes the [0] position
of every child from the parent array
newArr [0][0] = 'test'
console.log(newArr)