首页 > 解决方案 > 比较两个对象并替换通用对象属性

问题描述

我有两个数组,如下所示,我想找到对象之间的公共属性并将对象 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"
  }
}]

标签: javascriptarraysobject

解决方案


您可以使用 ES6 扩展运算符来合并 obj2 数组的第一个元素

Obj2[0] = {...Obj2[0], ...Obj1[0]}

一般语法是

{...X, ...Y} // ES6
Object.assign({}, X, Y) // Before ES6

推荐阅读