问题代码:
let weekData = Array(3).fill([])
weekData[0][0] = 8;
weekData[0][1] = 9;
console.log(weekData);
输出:
发现 修改某元素,而其他元素也修改的问题:
[ [ 8, 9 ], [ 8, 9 ], [ 8, 9 ] ]
解决:
原因是需要去定义二维数组:
let weekData = Array(3)
.fill([])
.map(() => Array().fill([]));
weekData[0][0] = 8;
weekData[0][1] = 9;
console.log(weekData);
输出:
[ [ 8, 9 ], [], [] ]
博客指出在JavaScript中存在修改某元素时其他元素也被修改的问题,解决办法是定义二维数组。
351

被折叠的 条评论
为什么被折叠?



