问题描述
我定义了以下函数:
const func = ()=>{
let a = new Array(2).fill().map(i => new Array(2).fill(1));
console.log(`%o`,a);
a[0][0]++;
return a;
}
当我在 DevTools 中实现 func()
时,结果是这样的:
(2) [Array(2),Array(2)]
0: (2) [2,1]
1: (2) [1,1]
length: 2
__proto__: Array(0)
(2) [Array(2),1]
length: 2
__proto__: Array(0)
我想要第一个
console.log(`%o`,a);
成为
[[1,1],[1,1]]
但结果出乎意料。
为什么会这样?这是 hoisting
的示例吗?
任何信息将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)