Javascript 根据匹配的id组合两个对象列表
如何将一个key:value对添加到id匹配的列表中的对象 我想将uuid添加到列表2中,其中列表1和2之间的id相同 我想我需要将过滤器和映射结合起来,但我无法解决它。有什么建议吗 清单1Javascript 根据匹配的id组合两个对象列表,javascript,Javascript,如何将一个key:value对添加到id匹配的列表中的对象 我想将uuid添加到列表2中,其中列表1和2之间的id相同 我想我需要将过滤器和映射结合起来,但我无法解决它。有什么建议吗 清单1 [ { uuid: 26, id: 317 } { uuid: 21, id: 451 }, { uuid: 43, id: 504 }, ] 清单2 [ { id: 317, coords: [ 33.4325301346224, 12.3742694854736 ] }, { id: 45
[ { uuid: 26, id: 317 }
{ uuid: 21, id: 451 },
{ uuid: 43, id: 504 }, ]
清单2
[ { id: 317, coords: [ 33.4325301346224, 12.3742694854736 ] },
{ id: 451, coords: [ 43.4257858672581, 14.4208612450748 ] },
{ id: 504, coords: [ 33.4225091429188, 12.395770072937 ] } ]
期望结果
[ { id: 317, coords: [ 33.4325301346224, 12.3742694854736 ], uuid:26},
{ id: 451, coords: [ 43.4257858672581, 14.4208612450748 ], uuid:21 },
{ id: 504, coords: [ 33.4225091429188, 12.395770072937 ], uuid:43 } ]
在这里,如果有任何问题,请不要犹豫
list2.reduce((list, entry) => {
const commonElement = list1.find(_entry => _entry.id === entry.id);
if (commonElement) {
list.push({
...entry,
...commonElement,
});
} else {
list.push(entry);
}
return list;
}, []);
可能重复的你可以从下面的链接找到解决方案:谢谢,我也会尝试!我通过使用推荐线程中的一个示例成功地解决了这个问题