生成一个长度为2的数组,内容为 {a: 1}
的对象填充
使用Es6 Array.fill 方法生成写起来倒是简单粗暴: const arr = Array(2).fill({a: 1})
然后问题就来了:尝试修改 arr 的第一项: arr[0].a = 2
打印 arr[0].a 倒是正常,然后看看arr[1].a:

emm...

为什么第二项也变了😭,查阅资料阮一峰大佬的ES6入门写的很清楚:

还是怪自己看的时候没仔细看。。。那问题就好解决了,使用map来填充吧~~
因为Array(2)生成的是稀疏数组,不能直接使用ES5的数组方法直接遍历,所以要先填充一下再使用map遍历:
Array(2).fill(null).map(_ => new Object({a: 1}))
现在再试试修改数组下的对象内容。。终于可以愉快的板砖了~~