前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js-深度克隆

js-深度克隆

作者头像
kdyonly
发布2023-03-03 19:23:50
7690
发布2023-03-03 19:23:50
举报
文章被收录于专栏:个人编程笔记个人编程笔记

浏览量 1

代码语言:javascript
复制
var cloneObj = function(obj){
    var str, newobj = obj.constructor === Array ? [] : {};    
    if(typeof obj !== 'object'){        
        return;
    } else if(window.JSON){
        str = JSON.stringify(obj), //系列化对象        
        newobj = JSON.parse(str); //还原    
    } else {
        for(var i in obj){
            newobj[i] = typeof obj[i] === 'object' ?cloneObj(obj[i]) : obj[i];        }    
    }
    return newobj; 
};
var obj = {a: 0, b: 1, c: 2};
var newobj = cloneObj(obj);
//对克隆后的新对象进行成员删除
delete newobj.a;
console.log(obj, arr, newobj, newarr);
//结果: {a: 0, b: 1, c: 2},{b: 1, c: 2}
//深度克隆使得newobj完全独立于obj
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-11-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档