Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据匹配的id组合两个对象列表_Javascript - Fatal编程技术网

Javascript 根据匹配的id组合两个对象列表

Javascript 根据匹配的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

如何将一个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: 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;
}, []);

可能重复的你可以从下面的链接找到解决方案:谢谢,我也会尝试!我通过使用推荐线程中的一个示例成功地解决了这个问题