我有以下两个数组,我想找到对象之间的通用属性,并将属性从对象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",
LGART: "lgart",
LTXA1: "ltxa1"
}
}]
答案 0 :(得分:1)
您可以使用ES6传播运算符合并obj2数组的第一个元素
Obj2[0] = {...Obj2[0], ...Obj1[0]}
常规语法是
{...X, ...Y} // ES6
Object.assign({}, X, Y) // Before ES6
答案 1 :(得分:0)
也许这对您有帮助,假设您确实有一个数组,其中的元素恰好包含实际的有效载荷:
const assignment = assignmentArray[0];
const newDataFields = noAssignmentArray[0];
Object.assign(assignment.TimeEntryDataFields, newDataFields);
这利用了Object.assign
函数,该函数只是将所有属性从第二个参数对象复制到第一个参数对象,而无需检查这是否会导致任何更改。