美文网首页
数组及对象的深拷贝

数组及对象的深拷贝

作者: daoqing99 | 来源:发表于2022-04-15 09:50 被阅读0次
export  function deepClone(obj = {}){
// obj是null,或者不是对象数组,就直接返回
if (typeof obj !== 'object' || obj == null) {
    return obj
}
// 初始化返回结果
let result
if (obj instanceof Array) {
    result = []
} else {
    result = {}
}
for (let key in obj) {
    //保证key是自己的不是原型的
    if (obj.hasOwnProperty(key)) {
    //递归
    result[key] = deepClone(obj[key])
    }
}
// 返回结果
return result
}

相关文章

  • Javascript深拷贝

    什么是深拷贝 创建一个新的对象或数组时,将原对象/数组的“值”拷贝,而不是“引用”。 深拷贝 数组拷贝不存在多层嵌...

  • 数组及对象的深拷贝

  • 2018-05-22

    数组与对象的深拷贝

  • C++封装(二)

    第2章 对象成员与对象数组 第3章 深拷贝与浅拷贝 浅拷贝: 深拷贝: 第4章 对象指针 对象指针: 栈中: 对象...

  • OC 数组mutableCopy能不能把数组里边的对象深拷贝?

    一. 数组深拷贝,数组中对象不实现NSCopying协议 Person类 使用 结果: 从结果来看虽然数组是深拷贝...

  • js深拷贝和浅拷贝区别

    浅拷贝和深拷贝的区别 1.浅拷贝:将源对象或者原数组的引用 ```直接赋给``` 新对象/新数组 ,新对象/新...

  • 深浅拷贝

    浅拷贝将原对象/原数组的引用直接赋值给新对象/新数组,新对象/新数组只是原对象/原数组的一个引用。 深拷贝将原对象...

  • 浅拷贝与深拷贝

    /*浅拷贝:拷贝地址*/ /*深拷贝:拷贝对象*/ 用Strong修饰不可变数组:浅拷贝 用Copy修饰不可变数组...

  • 深拷贝和浅拷贝

    1. 深拷贝和浅拷贝 1.浅拷贝: 将原对象或原数组的引用直接赋给新对象,新数组,新对象/数组只是原对象的一个引用...

  • JS数组及对象的深拷贝

    1. 浅层的数组或对象拷贝(也就是数组中不包含对象或数组)****1.1 通过slice或者concat方法***...

网友评论

      本文标题:数组及对象的深拷贝

      本文链接:https://www.haomeiwen.com/subject/rlinsrtx.html