let test=new Array(2).fill(new Array(2).fill(0));test[0][0]=1;console.log(test);这样一段代码,我觉得打印的结果应该是[ [1,0], [0,0]]可结果却是
2 回答
芜湖不芜
TA贡献1796条经验 获得超7个赞
let test=new Array(2).fill(new Array(2).fill(0));
// 等于
const array = new Array(2).fill(0)
let test=new Array(2).fill(array);
而 array 是一个引用对象,所以test[0] === test[1],所以出现这样的打印结果
杨魅力
TA贡献1811条经验 获得超6个赞
(test[0] === test[1]) //true
因为指向同一个内存地址,
这样写你就明白了
let d=new Array(2).fill(0)
let test=new Array(2).fill(d)
添加回答
举报
0/150
提交
取消