描述:在增加之前想暂存几条再一块提交,使用push最后一条数据会把前面的数据覆盖掉。
1、直接使用push()会覆盖
this.menu.push(this.login)
注:push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。
在这个地方为什么使用不起作用呢,因为this.login是一个源,再次添加的时候也把this.login给修改掉了。
2、使用Object.assign()和push()
let o = Object.assign({}, this.login);
this.menu.push(o);
注:Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象分配到目标对象。它将返回目标对象。
例:复制一个对象
const obj = { a: 1 };
const copy = Object.assign({}, obj);
console.log(copy); // { a: 1 }

本文探讨了在JavaScript中如何避免使用push()方法导致数组元素被覆盖的问题,通过Object.assign()实现对象深拷贝并成功插入新元素。理解这个技巧对于数组操作和数据保护至关重要。
404

被折叠的 条评论
为什么被折叠?



