js使用new Array创建二维数组的问题

咯咯咯哒
  • 36

题目描述

我想创建一个二维数组,然后给某个子数组增加一个值,形如

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]],这是为什么?

回复
阅读 3k
2 个回答
.fill([1,2,3])

只是把[1,2,3]给了每个位置

宣传栏