var obj = {
id: 1,
name: 'andy',
msg: {
age: 18
},
color: ['pink', 'red']
};
var newObj = {};
// 深拷贝拷贝多层, 每一级别的数据都会拷贝.
function deepCopy(newobj, oldobj) {
for (var k in oldobj) {
// 判断我们的属性值属于那种数据类型
// 1. 获取属性值 oldobj[k]
var item = oldobj[k];
// 2. 判断这个值是否是数组
if (item instanceof Array) {
newobj[k] = [];
deepCopy(newobj[k], item)
} else if (item instanceof Object) {
// 3. 判断这个值是否是对象
newobj[k] = {};
deepCopy(newobj[k], item)
} else {
// 4. 属于简单数据类型
newobj[k] = item;
}
}
}
// 使用深拷贝
deepCopy(newObj, obj)
利用递归进行深拷贝
最新推荐文章于 2025-12-29 10:47:54 发布
本文介绍了如何使用JavaScript实现深拷贝功能,重点讲解了如何处理对象和数组的递归复制,确保在多层结构中数据完整复制。
2022

被折叠的 条评论
为什么被折叠?



