解决方法:
//list 原数组
//newList 新数组
//方法1
const newList = JSON.parse(JSON.stringify(list));
//方法2
const newList = list.slice();
//方法3
const newList = [...list];
问题分析:
在 Vue.js 中,当你将一个数组直接赋值给一个新的变量时,实际上这两个变量共享同一个数组引用。这意味着它们指向相同的内存地址,因此对其中一个数组的修改也会影响另一个数组。这种行为是由 JavaScript 中数组赋值的引用传递特性所导致的,不仅限于 Vue.js。
const arr= [1, 2, 3];
const newArr = arr;
//newArr 实际上并不是 arr的一个拷贝,而是指向相同的数组。因此,对 newArr 的修改也会影响到 arr,反之亦然。