原生JS完美实现深拷贝
话不多说,直接上代码:
function deepClone(source) {
let targetObj = source.constructor == Array?[]:{};
for(let keys in source) {
if(source.hasOwnProperty(keys)) {
if(source[keys] && typeof source[keys]=='object') {
targetObj[keys] = source[keys].constructor == Array?[]:{};
targetObj[keys] = deepClone(source[keys]);
}else {
targetObj[keys] = source[keys];
}
}
}
return targetObj;
}
好啦,代码还是非常简单的,有疑问的小伙伴可以在下方留言哦。