首页 > 编程语言 > 详细

当改变数组的某一个对象里的元素的时候,为什么其他对象里的元素也发生改变了

时间:2019-11-08 22:20:37      阅读:120      评论:0      收藏:0      [点我收藏+]

当运用多层循环的时候,会出现一种情况,就是当想改变数组的某一个对象里的元素的时候,其他对象里的元素页跟着发生了改变。根据条件已经定位到了某一个对象,但是改变之后发现,其他的还是也都改变了。

原因就是:

数组是引用对象,数组变量存储在栈,元素数据存储在堆中,将数组赋值不同的对象,所以赋值对象都指向堆同一个数据,因此改变其中一个数组对象里的元素,其他对象里的元素也会发生改变

 

解决方法:

var arr = JSON.parse(JSON.stringify(array));

当改变数组的某一个对象里的元素的时候,为什么其他对象里的元素也发生改变了

原文:https://www.cnblogs.com/zy-df/p/11823043.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!