首页 > Web开发 > 详细

js深浅拷贝

时间:2020-07-10 16:03:48      阅读:63      评论:0      收藏:0      [点我收藏+]

浅拷贝:

1、对象:Object.assign()、{...obj1}

2、数组:Array.prototype.slice(arr1)

深拷贝:

1、简单封装函数

function deepClone(obj){
            if(obj === null) return null;
            if(typeof obj !== ‘object‘) return obj;
            if(obj instanceof Date) return new Date(obj);
            if(obj instanceof RegExp) return new RegExp(obj);
            let copy = new obj.constructor();
            Object.keys(obj).forEach(key=>{
                copy[key] = deepClone(obj[key])
            })
            return copy
        }

 2、JSON.parse(JSON.Stringify(obj))存在诸多问题,如果属性值是Date、RegExp等复杂数据类型,则会出问题

js深浅拷贝

原文:https://www.cnblogs.com/zmyxixihaha/p/13279288.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!