怎么在JavaScript中实现对象深拷贝

这篇文章给大家介绍怎么在JavaScript中实现对象深拷贝,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联主营香河网站建设的网络公司,主营网站建设方案,App定制开发,香河h5微信平台小程序开发搭建,香河网站营销推广欢迎香河等地区企业咨询

JavaScript是什么

JS是JavaScript的简称,它是一种直译式的脚本语言,其解释器被称为JavaScript引擎,是浏览器的一部分,主要用于web的开发,可以给网站添加各种各样的动态效果,让网页更加美观。

1. 序列化转成json字符串深拷贝

let newData = JSON.parse(JSON.stringify(data));
 
if (newData === data) {
    console.log(true);
} else {
    console.log(false);
}
// false

注意:此方法仅在原对象包含可序列化值类型且没有任何循环引用时才有效。

2. Object.assign()深拷贝

var obj3 = {};
将obj合并到obj3上
Object.assign(obj3, obj);
console.log(obj3);// {name: "小甜甜", age: 24, say: ƒ}
// 修改obj3的值原对象也不会发生改变
obj3.age = 66; console.log(obj);
// {name: "小甜甜", age: 24, say: ƒ} console.log(obj3);
// {name: "小甜甜", age: 66, say: ƒ}

注意:要拷贝的对象source里面的属性不是基础类型也是对象,或者属性含有对象数组,那这种方式的拷贝就不会把source对象里面的对象或者数组对象进行深拷贝。

3. 循环递归深拷贝(万能方法)

var arr = [1,2,3,4,5]
var arr2 = copyArr(arr)
function copyArr(arr) {
let res = []
for (let i = 0; i < arr.length; i++) {
 res.push(arr[i])
}
return res
}

关于怎么在JavaScript中实现对象深拷贝就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


网页标题:怎么在JavaScript中实现对象深拷贝
网站URL:http://bzwzjz.com/article/pijigh.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: LED网站设计方案 成都网站建设 成都网站建设公司 成都做网站建设公司 手机网站制作 成都商城网站建设 重庆网站建设 成都营销网站制作 手机网站建设套餐 重庆电商网站建设 网站设计制作报价 高端网站设计 重庆网站制作 成都网站设计公司 成都网站制作 四川成都网站建设 网站建设 成都网站制作 广安网站设计 网站制作 专业网站设计 网站建设改版