博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
深拷贝与浅拷贝复习
阅读量:6377 次
发布时间:2019-06-23

本文共 863 字,大约阅读时间需要 2 分钟。

引用:

三种深拷贝对象的方法

  • 递归拷贝key值
function deepClone(obj){    let objClone = Array.isArray(obj)?[]:{};    if(obj && typeof obj==="object"){        for(key in obj){            if(obj.hasOwnProperty(key)){                //判断ojb子元素是否为对象,如果是,递归复制                if(obj[key]&&typeof obj[key] ==="object"){                    objClone[key] = deepClone(obj[key]);                }else{                    //如果不是,简单复制                    objClone[key] = obj[key];                }            }        }    }    return objClone;}

 

  • 借用JSON对象的JSON.stringify和JSON.parse
function deepClone(obj){    let _obj = JSON.stringify(obj),        objClone = JSON.parse(_obj);    return objClone}

 

  • 借用JQ的extend方法 $.extend( [deep ], target, object1 [, objectN ] )
let a=[0,1,[2,3],4],    b=$.extend(true,[],a);a[0]=1;a[2][0]=1;console.log(a,b);

 

 

转载于:https://www.cnblogs.com/xiaoyuchen/p/10544950.html

你可能感兴趣的文章
C语言数据结构二叉树数据插入
查看>>
Keepalived+nginx实现高可用
查看>>
三.shell 脚本
查看>>
爱创课堂每日一题第二十九天- ES6的了解?
查看>>
kubernetes核心概念
查看>>
关于硬盘的一切!
查看>>
win10电脑盘符找不到的资料恢复方案
查看>>
Web网站服务(Apache)
查看>>
简练软考知识点整理-项目成本管理简介
查看>>
局域网vlan划分
查看>>
大数据时代数据库-云HBase架构&生态&实践
查看>>
sqlServer sa账号被锁定
查看>>
mysql 源码安装
查看>>
Linux
查看>>
hypervisor的概念
查看>>
DVA
查看>>
2019第二届中国智慧零售终端大会
查看>>
PDF文件压缩方法,什么方法压缩PDF简单
查看>>
DHCP
查看>>
C++实现双进程守护
查看>>