Javascript 通过标识符将一个对象数组中的参数添加到另一个

Javascript 通过标识符将一个对象数组中的参数添加到另一个,javascript,Javascript,我有两个对象数组: `let arr1 = [ {"var1":1, "id": 1}, {"var2":2, "id": 2}, {"var3":3, "id": 3}] `let arr2 = [ {"someVal":1, "data":123, "id": 1}, {"someVal":2

我有两个对象数组:

`let arr1 = [
{"var1":1, "id": 1},
{"var2":2, "id": 2},
{"var3":3, "id": 3}]

`let arr2 = [
{"someVal":1, "data":123, "id": 1},
{"someVal":2, data":456, "id": 2}]
我需要通过
id
arr2
中的对象向“arr1”参数中的对象添加
someVal
。 结果应该是

 `let arr1 = [
    {"var1":1, "id": 1, "someVal":1},
    {"var2":2, "id": 2, "someVal":1},
    {"var3":3, "id": 3}]

那对你有用吗

const arr1=[{“var1”:1,“id”:1},{“var2”:2,“id”:2},{“var3”:3,“id”:3}],
arr2=[{“someVal”:1,“id”:1},{“someVal”:2,“id”:2}]
结果=arr1.map(o=>{
const someVal=arr2.find({id})=>o.id==id)?.someVal
返回{…o,…(someVal?{someVal}:{}
})
console.log(结果)

作为控制台包装{min height:100%;}
您可以使用两个
forEach
循环将相应的值添加到
arr1

让arr1=[
{“var1”:1,“id”:1},
{“var2”:2,“id”:2},
{“var3”:3,“id”:3}]
设arr2=[
{“someVal”:1,“id”:1},
{“someVal”:2,“id”:2}]
arr1.forEach(elem_arr1=>{
arr2.forEach(elem_arr2=>{
if(elem_arr1.id==elem_arr2.id){
elem_arr1[“someVal”]=elem_arr2.someVal
}
})
})

console.log(arr1)
您可以使用
forach
对象。分配
来实现此目的

让arr1=[{“var1”:1,“id”:1},{“var2”:2,“id”:2},{“var3”:3,“id”:3}]
设arr2=[{“someVal”:1,“data”:123,“id”:1},{“someVal”:2,“data”:456,“id”:2}]
arr1.forEach(o=>{arr2.forEach(y=>{if(o.id==y.id)Object.assign(o,y)})

console.log(arr1)
执行此操作的几种方法。让我们看看你试过什么。因此,这不是一个免费的代码编写服务。这里的目标是在代码无法按预期工作时帮助修复代码,而不是为其完成所有工作you@Ted:此代码的工作方式是否有任何错误,使您在接受/取消接受时犹豫不决?不实际合并,只需从对象中插入一个参数,更新question@Ted:现在它似乎正好提供了您预期的输出如果您解释一下您提供的代码如何回答这个问题,这将是一个更好的答案。
arr1.forEach((element) => {
  arr2.map(item => {
    if(element.id == item.id)
      element.someVal = item.someVal;
  })
});