function copy(obj) {
if (typeof obj !== 'object' || obj === null) {
return obj
}
const newObj = obj instanceof Array ? [] : {};
for (let key in obj) {
if (typeof obj[key] === 'object') {
newObj[key] = copy(obj[key]);
} else {
newObj[key] = obj[key];
}
}
return newObj;
}
js递归实现深拷贝
于 2023-06-30 09:00:50 首次发布
该代码定义了一个名为copy的函数,用于深度复制JavaScript中的对象或数组。如果传入的不是对象或null,则直接返回。它使用了递归方法处理嵌套的对象和数组,确保所有层级都被复制。新创建的对象或数组newObj会存储复制后的值,对于非对象类型,直接赋值;如果是对象则调用自身进行递归复制。
摘要由CSDN通过智能技术生成