如何解决比较两个对象并替换公共对象属性
我有以下两个数组,我想找到对象之间的通用属性,并将属性从对象1替换为对象2
Object 1: noAssignmentArray
[{
AWART: "awart",LGART: "lgart",LTXA1: "ltxa1"
}]
Object 2:
[{
AllowEdit: ""
AllowRelease: "X"
ApproverId: "00000000"
TimeEntryDataFields:{
ALLDF: ""
APNAM: ""
ARBID: "10004821"
ARBPL: ""
AUERU: ""
AWART: "state",LGART: "material",LTXA1: "value"
}
}]
对象2的预期结果
[{
AllowEdit: ""
AllowRelease: "X"
ApproverId: "00000000"
TimeEntryDataFields:{
ALLDF: ""
APNAM: ""
ARBID: "10004821"
ARBPL: ""
AUERU: ""
**AWART: "awart",LTXA1: "ltxa1"
}
}]
解决方法
您可以使用ES6传播运算符合并obj2数组的第一个元素
Obj2[0] = {...Obj2[0],...Obj1[0]}
常规语法是
{...X,...Y} // ES6
Object.assign({},X,Y) // Before ES6
,
也许这对您有帮助,假设您确实有一个数组,其中的元素恰好包含实际的有效载荷:
const assignment = assignmentArray[0];
const newDataFields = noAssignmentArray[0];
Object.assign(assignment.TimeEntryDataFields,newDataFields);
这利用了Object.assign
函数,该函数只是将所有属性从第二个参数对象复制到第一个参数对象,而无需检查这是否会导致任何更改。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。