vue的动态push问题

如图,我的1是会变换的数据对象,2是目标数组,我将不同的1push进2里面,为什么console出来的2里面是重复的1呢,明明console出来的1也确实是不同的

img

img

谢谢大家,已经解决了
https://blog.csdn.net/qq_58805860/article/details/127161823

用watch监听一下对象的变化

在 JavaScript 中,数组是一个对象,而对象的赋值是按照引用传递的。所以,如果将一个数组 A 赋值给一个数组 B,那么 B 中存储的就是 A 的引用,也就是说 A 和 B 指向的是同一个数组对象。

因此,当你将不同的 1 push 进 2 时,实际上 1 和 2 是不同的对象,但是它们都指向同一个数组对象,所以在控制台输出 2 的时候看到的是重复的 1。如果想要将不同的 1 存储在不同的位置,可以使用数组的 slice() 方法创建一个新的数组。例如:

let arr1 = [1, 2, 3];
let arr2 = [];
arr2.push(arr1.slice());

这样,arr2 中存储的就是一个新的数组对象,与 arr1 不会有任何关联。