数组里填充对象
2018-09-04 本文已影响0人
kangaroo_v
摇起来
当我们需要在数组中填充数据的时候 一般会想到什么方法??
没错 是Array.fill()
可是当我们用这个方法去填充一个对象的时候,你会发现 当你修改对象中的某个value的时候
数组里所有对象的value都变了.
为什么???
当一个对象被传递给 fill 方法的时候, 填充数组的是这个对象,得引用 ---源自九叔
所以解决方法是什么呢??
//Array.apply(null, Array(lenght)).map(() => new对象)
classObj = Array.apply(null,new Array(6)).map(()=>JSON.parse('{"a":1,"b":"22"}'))
//也可以写成
classObj = Array.apply(null,new Array(6)).map(()=>(a:1,b:"abc"))
这里有个小问题 就是箭头函数
()=>{}
()=>()
()=>
三个的区别..
至此..修改value就不会改变所有value啦