Javascript 如何根据条件合并对象的数组属性?

Javascript 如何根据条件合并对象的数组属性?,javascript,arrays,object,ecmascript-6,Javascript,Arrays,Object,Ecmascript 6,如何将两个对象合并在一起。并在每次匹配数字时向身体中添加新对象? 我尝试了spread运算符,但它覆盖了该值,而不是更改它 之前: let obj = { number: "123", body:[ { id:'client', text:'hi' } ] } let obj2 = { number: "123", body:[ { id:'client', text:'Hello there'

如何将两个对象合并在一起。并在每次匹配数字时向身体中添加新对象? 我尝试了spread运算符,但它覆盖了该值,而不是更改它

之前:

let obj = {
  number: "123",
  body:[
    {
      id:'client',
      text:'hi'
    }
  ]
}

let obj2 = {
  number: "123",
  body:[
    {
      id:'client',
      text:'Hello there'
    }
  ]
}
我需要将它们合并为:

obj = {
  number: "123",
  body:[
    {
      id:'client',
      text:'hi'
    },
    {
      id:'client',
      text:'Hello there'
    }
  ]
}

只需检查
number
键在这两种情况下是否相等,然后迭代
obj2.body
并将每个项目推入
obj.body

让obj={
编号:“123”,
正文:[{
id:'客户端',
文字:“嗨”
}]
}
设obj2={
编号:“123”,
正文:[{
id:'客户端',
短信:“你好”
}]
}
如果(对象编号===对象编号){
obj2.body.forEach(项=>{
物体推动器(项目)
})
}

log(obj)
如果只有两个对象,您可以这样做

if (obj.number == obj2.number) {
   obj.body = obj.body.concat(obj2.body)
   console.log("Here's is your new object", obj);
} 

使用
concat()
连接数组。可以使用扩展运算符:
new_array=[…array1,…array2]
连接数组。显示您尝试的内容。StackOverflow不是免费的编码服务。所以我希望你能。请更新您的问题,以显示您已在某个应用程序中尝试过的内容。有关更多信息,请参见,并选择:)您是否只有两个对象(
obj
obj2
)或一个对象数组?您可以使用
concat()
而不是循环。@Barmar是的,但实际上您已经在我前面回答了,所以不想重复