希望明天越|

张尊娟

园龄:5年3个月粉丝:31关注:1

对象深拷贝

JSON.parse(JSON.stringify(obj))我们一般用来深拷贝,其过程说白了 就是利用JSON.stringify 将js对象序列化(JSON字符串),再使用JSON.parse来反序列化(还原)js对象;

深拷贝

 function deeoClone(obj) {
            // 判断类型是否是引用类型  obj
            if (typeof obj !== 'onject' || obj == null) {
                return
            }
            let res = obj instanceof Array ? [] : {}
            for (let key in obj) {
                if (obj.hasOwnProperty(key)) {   //保证key是obj上面的,不是原型链上面的
                    res[key] = deeoClone(obj[key])
                }
            }
            return res
        }

这种利用递归拷贝的也不是特别全面,避免重复造轮子可以用loadsh库中的方法 loadsh.cloneDeep

import cloneDeep from "lodash/cloneDeep";
this.dataList[0] = cloneDeep(arr1);

本文作者:张尊娟

本文链接:https://www.cnblogs.com/wszzj/p/12499633.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   张尊娟  阅读(136)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起