手写一个深拷贝
function deepClone(obj) {
if(typeof obj !='object') return object
// 1、建立新容器
var temp = array.isArray(obj)?[]:{}
// 2、 通过遍历将原有数组的值循环出来放到新建立的容器上
for (let key in obj) {
if(obj.hasOwnProperty(key)) {
// 如果是对象或数组类型,通过递归,返回对象,如果是基本数据类型则直接返回
if(obj[key] && typeof obj[key] == 'object') {
temp[key]=deepClone(objj[key])
}else {
temp[key]=obj[key]
}
}
}
return temp
}
浙公网安备 33010602011771号