美文网首页
深度拷贝

深度拷贝

作者: 天字一等 | 来源:发表于2018-11-27 19:44 被阅读42次

hasOwnProperty ()方法可以用来对象是否有特定的属性,而且该方法会忽略掉那些从原型链上继承到的属性
https://www.cnblogs.com/echolun/p/7889848.html
深度拷贝方法三种:
方法一:
深度拷贝函数:


function deepClone(obj){
    var objClone = Array.isArray(obj) ? [] : {};
    for(key in obj){
        if(obj.hasOwnProperty(key)){
            if(obj[key] && typeof obj[key] == "object"){
                objClone[key] = deepClone(obj[key]);
            }else{
                objClone[key] = obj[key];
            }
        }
    }
    return objClone;
}
var data = [
    {
        name:"xiao"
    },
    {
        age:"22"
    }
];
var newData = deepClone(data);
data[0] = "第三个";
console.log(data,newData);

方法二
JSON.stringfy()、JSON.parse()组合

function deep(){
    let _obj = JSON.stringify(obj);
    let newobj = JSON.parse(_obj);
    return newobj;
}
let obj = [1,2,[3,4],5];
let b = deep(obj);
obj[0] = 0;
console.log(obj,b)

方法三:jquery中的extends方法

let a=[0,1,[2,3],4],
    b=$.extend(true,[],a);
a[0]=1;
a[2][0]=1;
console.log(a,b);

相关文章

  • 深拷贝、浅拷贝

    父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。 深拷贝同浅拷贝的区别:浅拷贝...

  • 面试题整理

    父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。 深拷贝同浅拷贝的区别:浅拷贝...

  • iOS面试基础一

    #父类实现深拷贝时,子类如何实现深度拷贝.父类没有实现深拷贝时,子类如何实现深度拷贝.# <(1)深拷贝同浅拷贝的...

  • 0. iOS面试题基础篇

    1. 父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。 1.1 深拷贝同浅拷贝...

  • iOS基础知识点01

    1. 父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。 1.1 深拷贝同浅拷贝...

  • iOS知识点(一)

    1.1 父类实现深拷贝时,子类如何实现深度拷贝。 父类没有实现深拷贝时,子类如何实现深度拷贝。深拷贝同浅拷贝的区别...

  • 面试 (一) : 基础篇

    父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。• 深拷贝同浅拷贝的区别:浅拷...

  • 基础

    1、父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。 深拷贝同浅拷贝的区别:浅...

  • 常见的面试(一)

    父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。• 深拷贝同浅拷贝的区别:浅拷...

  • iOS知识点

    1 iOS基础 1.1 父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。 1....

网友评论

      本文标题:深度拷贝

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