题目描述
我想创建一个二维数组,然后给某个子数组增加一个值,形如
var arr33 = [[1,2,3],[1,2,3],[1,2,3]]
得到:
var arr33 = [[1,2,3],[1,2,3,4],[1,2,3]]
实现方法
var arr33 = new Array(3).fill([1,2,3]);
arr33[1].push(4)
console.log(arr33);
结果
结果输出不是[[1,2,3],[1,2,3,4],[1,2,3]]
,而是[[1,2,3,4],[1,2,3,4],[1,2,3,4]]
,这是为什么?
当一个对象被传递给 fill方法的时候, 填充数组的是这个对象的引用。具体见链接https://developer.mozilla.org...