比较对象数组和 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);
所以基本上我想将数组的对象与另一个对象进行比较并更改其值。数据是完全动态的,所以我不能使用静态键。 这是我的数据
这个新数据就是我要添加到发票数据中的数据
但问题是 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);