深度遍历数组对象

数组和对象都是引用类型,因此有深、浅拷贝之分,数组深拷贝可参考https://blog.csdn.net/fungleo/article/details/54931379
提醒一下的是数组中如果还有其他引用类型的数据,则需要递归深拷贝,否则修改数组中的引用类型还是会影响原数组中的引用类型,比如

var a = [{id:1}];
var b = a.slice(0);
b.id = 0;
console.log(a) // [{id:0}]

可采用以下深拷贝的方法

        function objDeepCopy(source) {
            var sourceCopy = source instanceof Array ? [] : {};
            for (var item in source) {
              sourceCopy[item] =
                typeof source[item] === "object"
                  ? objDeepCopy(source[item])
                  : source[item];
            }
            return sourceCopy;
        }

jquery可采用$.extend实现深拷贝 ,用法文档为http://www.runoob.com/jquery/misc-extend.html,比如深拷贝a到b

b = $.extend(true, [], a)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • $HTML, HTTP,web综合问题 1、前端需要注意哪些SEO 2、 的title和alt有什么区别 3、HT...
    Hebborn_hb阅读 4,680评论 0 20
  • 在线阅读 http://interview.poetries.top[http://interview.poetr...
    前端进阶之旅阅读 114,896评论 24 450
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,816评论 1 45
  • PNG 有PNG8和truecolor PNG PNG8类似GIF颜色上限为256,文件小,支持alpha透明度,...
    hudaren阅读 1,625评论 0 0
  • 千里马常有,而伯乐不常有! 马棚有无数匹马,驯马人为了培养好马卖出好的价钱,将马赶到马场训练!驯马第一天,众马飞驰...
    惜淼淼阅读 354评论 3 2