Array.prototype.fill 填充值被复用的问题
刘哇勇 人气:0
考察如下示例代码: // 创建二维数组 const arr = Array(2).fill([]); // 操作第一个元素 arr[0].push(1); // 结果是操作了所有数组 console.log(arr); // [ [ 1 ], [ 1 ] ] 和 new 不 new 关系,以下代码问题同样存在 - const arr= Array(12).fill([]) + const arr= new Array(12).fill([]) arr[0].push(1) console.log(arr); // [ [ 1 ], [ 1 ] ] 问题出在这个
修正方式则是通过 const arr = Array(2) .fill(1) .map((item) => []); arr[0].push(1); // 结果是操作了所有数组 console.log(arr); // [ [ 1 ], [] ] 之所以在
相关资源
|
The text was updated successfully, but these errors were encountered: |
加载全部内容