关于深拷贝&在深拷贝上的踩坑记录

前景:之前接触到深拷贝浅拷贝的时候,还是不太能够实际感受,最近在写项目中遇到了一个这种问题,浅显记录下。感觉还有很多场景会遇到,但是对这个的了解目前还不够成熟。 最近是在写到一个弹框的时候,传递了一个数组对象过去,在弹框进行回显,还可以进行修改,之前写的时候单纯想到回显传值,没多做考虑。。。

弹框中接收的数组对象为:platArr,传递过去的数组对象为otherBillInfoList

👇为:之前的错误处理接收数据,没有考虑到这里是引用数据类型,发生变化的一个数组会影响到另外的一个数组,这里接收的是同一个地址,引用传递的时候得考虑深拷贝。

 this.platArr = otherBillInfoList.filter(val => {
  return { partakeName: val.partakeName, partakeIncome: val.partakeIncome }
 })

这里主要感觉还是在基础js的应用上不够敏感和思考不够,还是得多踩坑长记性了😂

最后用了一个查到的方式:JSON.parse(JSON.stringify(XXX))。在这里修改了一下,目前看实现是可以的。(这里是数组对象,有人说这个方法会丢失函数,这里留一个问题给我自己,之后遇到再完善记录

platArr = JSON.parse(JSON.stringify(otherBillInfoList)); //深拷贝 - 其他方
相关知识-参考:

一些数组方法等等,深拷贝浅拷贝知识等等,之后继续学习。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 什么是深拷贝,什么是浅拷贝 说到深浅拷贝,就不得不提到另外一个知识点,那就是引用类型和基本类型以及堆和栈的区别。再...
    jeff_nz阅读 4,453评论 0 0
  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 10,218评论 0 5
  • 今天早晨我走着送她去上学,因为她爸爸星期一去的早,没有时间送她,她跟我说,妈妈,我们走着去吧!我说,好...
    李雪慧妈妈阅读 656评论 0 0
  • 对于期货配资,财富星石的期货配资系统提示大家,一定要以良好的心态去做,不能盲目的去跟风做单,要根据盘面的K线语言掌...
    财富星阅读 2,939评论 0 0
  • “女人和女人最大的区别,不是相貌,而是味道。”也就是女人味,但女人味到底是什么?这其实一个很抽象的词。有人说,是一...
    生命智慧的蓝天阅读 3,226评论 0 4

友情链接更多精彩内容