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]给了每个位置

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏