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

js深拷贝对象数组

作者: enjoy_CC | 来源:发表于2018-05-11 12:29 被阅读0次

    为什么需要深拷贝?在js中,基本数据类型的传递方式为值传递,对象的传递方式为引用传递

    方法一(简单粗暴):

     newArray= [].concat(JSON.parse(JSON.stringify(_oldArray)));

    方法二:
    newArray=Array.prototype.map.call(oldArray,function(elem){
        return deepCopy(elem);
    })||[];

    function deepCopy(obj){
        if(typeof obj != 'object'){
            return obj;
        }
        var newobj = {};

        for ( var attr in obj) {
            newobj[attr] = deepCopy(obj[attr]);
        }
        return newobj;
    }

    相关文章

      网友评论

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

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