从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这篇文章给大家介绍怎么在JavaScript中实现对象深拷贝,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
创新互联主营香河网站建设的网络公司,主营网站建设方案,App定制开发,香河h5微信平台小程序开发搭建,香河网站营销推广欢迎香河等地区企业咨询
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中实现对象深拷贝就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图