function deepCopy(obj) {
if(!obj || typeof obj != 'object'){
return null
}
const targetObj = Array.isArray(obj)? [] : {}
for(let key in obj){
if(obj.hasOwnProperty(key)){
if(obj[key] && typeof obj[key]=== 'object'){
targetObj[key] = deepCopy(obj[key])
} else {
targetObj[key] = obj[key]
}
}
}
return targetObj;
}
let person = {
name: 'gxr',
age: 22,
friend: {
janiffer: {
age: 34,
address: 'hangzhou'
},
john: {
age: 24,
address: 'beijing'
}
}
}
let people = deepCopy(person);
console.log(person === people ? true : false)
people.name = 'geo'
console.log(people)
console.log(person)