function deepClone(obj){
//初始化为[]或{}
let objClone = Array.isArray(obj)?[]:{};
if(obj && typeof obj==="object"){
for(key in obj){
//判断是否为自身属性
if(obj.hasOwnProperty(key)){
//判断ojb子元素是否为对象,如果是,递归复制
if(obj[key]&&typeof obj[key] ==="object"){
objClone[key] = deepClone(obj[key]);
}else{
//如果不是,简单复制
objClone[key] = obj[key];
}
}
}
}
return objClone;
}
js深拷贝
最新推荐文章于 2024-10-01 20:12:28 发布
该代码实现了一个JavaScript函数deepClone,用于深拷贝对象或数组。它通过遍历对象的所有属性,对每个属性进行检查,如果属性值是对象则递归调用自身进行深度复制,确保复杂数据结构的完整复制,避免了引用类型的问题。
摘要由CSDN通过智能技术生成