js深拷贝对象数组

为什么需要深拷贝?在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;
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,125评论 0 2
  • JS使用技巧专题 1开发技巧 1.1函数使用 1.1.1函数声明方式 JS函数的写法总结 http://blog....
    Kevin_Junbaozi阅读 1,167评论 0 11
  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 2,286评论 1 10
  • 深拷贝:复制多层 浅拷贝:复制一层 在JavaScript使用过程中我们经常会遇到这样的场景; 我们发现,当数组b...
    ferrint阅读 295评论 0 0
  • 拷贝(也称克隆),指的是我们对从服务器请求回来的数据,进行"复制",我们可以对副本进行修改等操作,不能影...
    苦茶_12138阅读 354评论 0 1

友情链接更多精彩内容