【问题标题】:Javascript how to merge two different array of object [duplicate]Javascript如何合并两个不同的对象数组[重复]
【发布时间】:2019-10-21 06:30:28
【问题描述】:

我想将两个不同的对象数组合并为一个,如下:

数组 1:

[ { id: 1,
    fullName: '...',
    districtName: '...',
    cityName: '...',
    placeName: '...',
    geoLat: '...',
    geoLong: '...' },
{ id: 2,
    fullName: '...',
    districtName: '...',
    cityName: '...',
    placeName: '...',
    geoLat: '...',
    geoLong: '...' },
]

数组 2:

[ { a:'...',
    b:'...',
    c:'...',
  },
  { d:'...',
    e:'...',
    f:'...',
  }
]         

数组 1 和数组 2 的长度相同。 我想将它们相应地合并,如下:

[ { id: 1,
    fullName: '...',
    districtName: '...',
    cityName: '...',
    placeName: '...',
    geoLat: '...',
    geoLong: '...',
    a:'...',
    b: '...',
    c: '...' },
{ id: 2,
    fullName: '...',
    districtName: '...',
    cityName: '...',
    placeName: '...',
    geoLat: '...',
    geoLong: '...',
    d:'...',
    e: '...',
    f: '...' },
]

我该怎么做? 我考虑过使用地图,但那样我只能遍历一个数组。我必须迭代两个数组并合并它们。

任何建议都是有帮助的。 谢谢

【问题讨论】:

    标签: javascript


    【解决方案1】:

    您可以使用mapspread 运算符

    arr1.map((x, i) => ({...x, ...arr2[i]}));
    

    【讨论】:

      【解决方案2】:

      您可以使用嵌套的 forEach 循环将第二个数组中的值分配给第一个数组。

      var a = [{
          id: 1,
          fullName: '...',
          districtName: '...',
          cityName: '...',
          placeName: '...',
          geoLat: '...',
          geoLong: '...'
        },
        {
          id: 2,
          fullName: '...',
          districtName: '...',
          cityName: '...',
          placeName: '...',
          geoLat: '...',
          geoLong: '...'
        },
      ]
      
      var b = [{
          a: '...',
          b: '...',
          c: '...',
        },
        {
          d: '...',
          e: '...',
          f: '...',
        }
      ]
      a.forEach(function(e, j) {
        Object.keys(b[j]).forEach(function(x) {
          e[x] = b[j][x];
        })
      })
      console.log(a)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多