let user = {
name: "john",
age: 30,
hobbies: ["reading", "swim"],
friends: {
ming: {
name: 'xiaoming',
age: 12
},
li: {
name: 'xiaoli',
age: 13
}
}
}
如何克隆这个对象?
const deepClone = (cloneObj, targetObj) => {
for (const key in targetObj) {
if (typeof targetObj[key] !== "object") {
cloneObj[key] = targetObj[key];
} else {
if (targetObj[key] instanceof Array) {
cloneObj[key] = []
deepClone(cloneObj[key], targetObj[key])
} else if (targetObj[key] instanceof Object) {
cloneObj[key] = {}
deepClone(cloneObj[key], targetObj[key])
}
}
}
}
使用
const clone = {};
deepClone(clone, user)
console.log(clone);