有以下几种情况:
(1)简单对象,例如:
let obj = {name:'xiaohong',age:13}
深拷贝方法:
1.let obj1 = Object.assign({},obj)
2. let obj1 = JSON.stringify(obj)
obj1 = JSON.parse(obj1)
(2)复杂对象,例如:
let obj = {school:{name:'xiaohong'},age:13}
上面两种方法都不可用了,可使用下面的方法去深度拷贝
/* 深拷贝 对象 数组*/
deepCopy (source) {
var sourceCopy = source instanceof Array ? [] : {};
for (var item in source) {
sourceCopy[item] = typeof source[item] === 'object' ? this.deepCopy(source[item]) : source[item];
}
return sourceCopy;
}