这个问题其实并不难,但当时就是没反应过来
简单介绍,避免有人跟我一样
在对数组进行push的时候
例如
//arr 是一个数组,里面有多个对象
// obj 代表一个数组里某个对象
arr.push(obj)
// 当对里面的数据进行修改时
// 例如
arr.[arr.length-1].avtive = true // 新增加的和原来那个 active 的值都会变
这是因为对象是引用类型,传递的是引用地址,所以他们指的是同一个地址
解决方法
利用 JSON 或者 {...obj} 再或者 Object.assign 来解决
arr.push(Object.assign({},obj))
arr.push(JSON.parse(JSON.stringify(obj)))
arr.push({...obj})
```
```