比较对象数组和 ES6 中的对象

Compare Array of Objects with Object in ES6

所以基本上我想将数组的对象与另一个对象进行比较并更改其值。数据是完全动态的,所以我不能使用静态键。 这是我的数据

这个新数据就是我要添加到发票数据中的数据

但问题是 DOCDT 不是静态的,它可以是动态的,所以我不能使用静态键名。

谢谢!!

您可以使用 Object.assign(oldObj, newObj);,它会将 new object 的所有值分配给 old object。如果 属性 不存在,那么它也会创建新的属性。

let newObj = { DOCDT: '6/21/20' };
let oldObj = { DOCDT: '1/10/20', DOCNO: "", IREF1: "50" };

Object.assign(oldObj, newObj);
console.log(oldObj);

如果 oldObj 是对象数组,则像 oldObj.forEach(x => Object.assign(x, newObj)); 一样使用它。

let newObj = { DOCDT: '6/21/20' };
let oldObj = [{ DOCDT: '1/10/20', DOCNO: "", IREF1: "50" }];

oldObj.forEach(x => Object.assign(x, newObj));
console.log(oldObj);