如何修复此Javascript数组怪异错误(?)

时间:2018-12-31 23:57:47

标签: javascript arrays

因此,我正在进行代码挑战,例如,我需要顺时针旋转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)

0 个答案:

没有答案