代码如下:
const squares = Array(3).fill(Array(3).fill(null));
squares[0][0] = 1
console.log(squares)
打印结果是什么?
我开始的答案是:
[[null,null,null],[null,null,null],[null,null,null]]
但是真实答案是:
[[1,null,null],[1,null,null],[1,null,null]]
为什么?难道是fill函数会保存执行结果吗?不是太理解
万望解惑
看了这个问题去找了一下
MDN
里面 array.fill的用法所以应该都是同一个引用了,借助问题学习了一波~