使用js写一个递归深拷贝
时间: 2023-02-09 13:16:30 浏览: 130
js代码-(1)深拷贝:递归
您好,这是一个使用 JavaScript 实现的递归深拷贝函数的示例:
```
function deepCopy(obj) {
if (obj === null || typeof obj !== 'object') {
return obj;
}
if (obj instanceof Date) {
return new Date(obj);
}
if (obj instanceof RegExp) {
return new RegExp(obj);
}
let result;
if (obj instanceof Array) {
result = [];
} else {
result = {};
}
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
result[key] = deepCopy(obj[key]);
}
}
return result;
}
```
该函数使用递归的方式遍历对象的属性,并将每个属性的值拷贝到新的对象中。
希望这个回答能帮到您。
阅读全文