我正在开发一个 nodejs 应用程序,需要将两个文档数组连接在一起。我有一个可用于加入的 id 字段,但不确定如何优雅地实现所需的输出。请参阅下面的示例数组。
array 1
[{"id": 1,
"name": "paul"
},
{"id": 2,
"name": "sarah"
}
]
array 2
[{"id": 1,
"email": "[email protected]"
},
{"id": 2,
"email": "[email protected]"
}
]
output
[{"id": 1,
"name": "paul",
"email": "[email protected]"
},
{"id": 2,
"name": "sarah",
"email": "[email protected]"
}
]
您可以将Object.assign
方法与map
函数结合使用,以达到您想要的输出。
对于map
方法,您必须传递一个回调提供的函数作为参数,该函数应用于给定的array
.
arr1 = [{"id": 1, "name": "paul" }, {"id": 2, "name": "sarah" } ], arr2 = [{"id": 1, "email": "[email protected]" }, {"id": 2, "email": "[email protected]" } ]
let final = arr1.map(function(item){
return Object.assign(item, arr2.find(({id}) => id == item.id));
});
console.log(final);
或者干脆使用一个arrow
函数。
arr1 = [{"id": 1, "name": "paul" }, {"id": 2, "name": "sarah" } ], arr2 = [{"id": 1, "email": "[email protected]" }, {"id": 2, "email": "[email protected]" } ]
let final = arr1.map((item) => Object.assign(item, arr2.find(({id}) => id == item.id)));
console.log(final);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句