通过es6中扩展运算符可以快速高效的实现数组和对象的深拷贝。
一、数组的深拷贝
let arr = [1,2,3,4,5]
let [ ...arr2 ] = arr
arr[2] = 3
console.log(arr)
console.log(arr2)
二、对象的深拷贝
let obj = {
name: ['hui',22,{name:'wanb'}],
sex: 'man',
age: '18'
}
let {
...obj2
} = obj
obj.old = '16'
console.log(obj)
console.log(obj2)
三、对象的取值
let obj = {
name: ['hui',22,{name:'wanb'}],
sex: 'man',
age: '18'
}
let {name,...res} = obj
console.log(name) //['hui',22,{name:'wanb'}]
console.log(res) //{sex:'man' , age :'18'}
四、黑科技深拷贝
var copy = JSON.parse(JSON.stringify(object))