骉骉餐饮微信小程序_JS对象的深度克隆方法示例

发布时间:2021-01-12 12:58 作者:jianzhan

摘要: JS目标的深层复制方式实例 本文关键详细介绍了JS目标的深层复制方式,融合案例方式剖析了JavaScript深层复制的完成方法,必须的朋友能够参照下文中案例叙述了JS目标的深层复制方

JS对象的深度克隆方法示例       这篇文章主要介绍了JS对象的深度克隆方法,结合实例形式分析了JavaScript深度克隆的实现技巧,需要的朋友可以参考下

本文实例讲述了JS对象的深度克隆方法。分享给大家供大家参考,具体如下:

js中创建的对象指向内存,所以在开发过程中,往往修改了一个对象的属性,会影响另外一个对象。

尤其是在angular框架中,dom是由数据驱动的,在增删改查对象的操作中,对象属性的继承关系是很让人头痛的!

我之前遇到的问题就是,在编辑页面,操作了对象数据,影响到了展示数据的展现!

我整理了两种深度克隆对象的方法,供大家参考!

首先var 一个假数据
代码如下:var schedule = {"status":21,"msg":"ok","data":[{"name":"lemon","age":21,"contactList":{"phone":[152,153,154],"email":5295}},{"name":"lara","age":22,"contact":{"phone":152,"email":5295}}]}

方法1:

遍历自身,判断当前对象是obj还是list,克隆出新对象

function deepClone(obj)
 var o,i,j,k;
 if(typeof(obj)!="object" || obj===null)return obj;
 if(obj instanceof(Array))
 o=[];
 i=0;j=obj.length;
 for(;i i++)
 if(typeof(obj[i])=="object" obj[i]!=null)
 o[i]=arguments.callee(obj[i]);
 else
 o[i]=obj[i];
 else
 o={};
 for(i in obj)
 if(typeof(obj[i])=="object" obj[i]!=null)
 o[i]=arguments.callee(obj[i]);
 else
 o[i]=obj[i];
 return o;
var scheduleClone = deepClone(schedule)
scheduleClone.data[0].contactList.phone[0] = 
console.log('方法1 深度克隆')
console.log(scheduleClone)
console.log(JSON.stringify(schedule))
console.log(JSON.stringify(scheduleClone))

方法2:

用js原生的json序列化的方式,简单粗暴!

var scheduleClone2 = JSON.parse(JSON.stringify(schedule));
console.log('方法2 深度克隆')
console.log(scheduleClone2)
scheduleClone2.data[0].contactList.phone[0] = 8888888
console.log(JSON.stringify(schedule))
console.log(JSON.stringify(scheduleClone2))

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》及《》

希望本文所述对大家JavaScript程序设计有所帮助。


  • 滴滴打车首席总裁柳青:

    八月2日,滴滴打车打车交通出行交通出行北京市举行新闻报道新闻媒体对外开放对外开放每天活跃性动,滴滴打车打车交通出行交通出行顶尖首席总裁柳青携高级经理裁CEO付强等多位滴

  • 手机微信微信小程序开发

    模拟题目:手机上手机微信手机微信微信小程序开发设计设计方案花销是多少钱,付费方法有哪些? 在把握手机上手机微信手机微信微信小程序付费方法前,先说一着手机手机微信不是

  • 开封市微信小程序开发设

    手机微信微信小程序早就变为伤害商业服务服务合理布局、变更未来商业服务服务的新势力.而手机微信微信小程序电子器件商务接待将是一个净重量级的顾客流量安全通道,可以为企业著

  • 没有人零售又演变了!R

    原题目:没有人零售又演变了!RFID技术性淘汰、手机微信微信小程序颠覆式创新……将来便捷店长那样 不张扬很久的没有人零售,前不久又上海市区刮起了一阵风大。 在不久完毕的上

  • 仿关键通告手机微信微信

    原题目:仿关键通告手机微信微信小程序源代码 手机微信微信小程序开发设计企业:时下,互连网和营销推广界最火门的物品是啥?那非微信小程序莫属。在新零售的趁势下,京东商城