vue 如果两个数组相等时候,对其中一个数组操作,另一个也随之改变的这个巨坑
vue数组相等的坑,我填了1天半时间
我要保存一份数据作为原数据A,但是也要操作相同的数据B与原数据进行比较。我刚开时候是直接这样写的
this.A=this.B
但是发现操作B时候A也进行改变。
我调试半天后我觉得可能是vue里面相等时候也会把地址复制过去。
想通了我就变成遍历添加:
for(var i=0;i<this.B.length;i++){
this.push(this.A[i]);
}
这个时候不要以为万事大吉。遍历进去就好了,事实还是没有用的。
要这样来写:
for(var i=0;i<this.B.length;i++){
this.B.push(JSON.parse(JSON.stringify(this.A[i])));
}
然后你对B操作A才不会随之改变.
欢迎前来指正。如果还有别的方法,请留言