备忘一下es6的数组、对象拷贝
let srcArray=[{key:'value'},'b','c']
let [...cloneArray]=srcArray
或者
let cloneArray2=[...srcArray]
上面是浅拷贝,如果数组的元素是对象的,它们的元素指向同一个对象,也就是说随便修改srcArray[0].key的值都会影响cloneArray和cloneArray2的[0].key的值—因为它们指向的是同一个对象。
for (var i=0;i<cloneArray.length;i++){
if (typeof cloneArray[i]=='object'){
cloneArray[i]=Object.assign({},cloneArray[i])
}
}
在chrome的控制台跑一下上面脚本,cloneArray[0]和srcArray[0]已经是两个独立的对象了,改变cloneArray[0]的属性不会影响srcArray[0]
