我正在尝试使用fill函数创建二维数组.它看起来像这样:
let map = new Array(3)
.fill(new Array(3)
.fill(0));
Run Code Online (Sandbox Code Playgroud)
当我尝试在特定索引处设置一个值时出现问题:
map[1][1] = 1;
Run Code Online (Sandbox Code Playgroud)
我希望有结果:
[[0, 0, 0],[0, 1, 0],[0, 0, 0]]
Run Code Online (Sandbox Code Playgroud)
但我收到了这个:
[[0, 1, 0],[0, 1, 0],[0, 1, 0]]
Run Code Online (Sandbox Code Playgroud)
看起来所有这些子阵列都引用了一个数组,但为什么呢?