Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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对象的重复数据消除数组_Javascript - Fatal编程技术网

相似javascript对象的重复数据消除数组

相似javascript对象的重复数据消除数组,javascript,Javascript,给定一个长度未知的对象数组,如下所示: [{id: '10001-10002', source: 10001, target: 10002}, {id: '10002-10001', source: 10002, target: 10001}] 如何消除相反的重复数据 上述各项的预期结果: [{id: '10001-10002', source: 10001, target: 10002}] 如果你想“过滤”的id,我想这将适合你 const myArray=[ {id:'10001-10

给定一个长度未知的对象数组,如下所示:

[{id: '10001-10002', source: 10001, target: 10002}, {id: '10002-10001', source: 10002, target: 10001}]
如何消除相反的重复数据

上述各项的预期结果:

[{id: '10001-10002', source: 10001, target: 10002}]
如果你想“过滤”的id,我想这将适合你

const myArray=[
{id:'10001-10002',来源:10001,目标:10002},
{id:'10002-10001',来源:10002,目标:10001},
{id:'10001-10002',源:10001,目标:10002}
];
const result=myArray.reduce((acc,cur)=>{
const alreadyExist=acc.some(item=>item.id==cur.id);
如果(已存在)返回acc;
返回[…acc,cur];
}, []);

控制台日志(结果)谢谢你EKD!你给了我一个主意!!!我稍微修改了您的代码和objet,以实现相反的重复数据消除。将“反向”id字符串作为rId添加到对象中,并将其与项id进行比较

const myArray=[
{id:'10001-10002',源:10001,目标:10002,rId:'10002-10001'},
{id:'10002-10001',源:10002,目标:10001,rId:'10001-10002'},
];
const result=myArray.reduce((acc,cur)=>{
const alreadyExist=acc.some(item=>item.id==cur.rId);
如果(已存在)返回acc;
返回[…acc,cur];
}, []);

控制台日志(结果)是否只是要消除重复的id?还是整个物体?你试过什么?因此,这不是一个代码编写服务。我尝试过嵌套循环,并将过滤器和映射相结合。ID或整个对象的重复数据消除都可以让我达到我需要的目的。谢谢,谢谢,谢谢!为了得到我想要的结果,我稍微修改了你的答案。我想给你尽可能多的信任。你想修改你对我的解决方案的回答,这样我就可以给你检查了吗?不行。我帮过你,但你做到了。我认为我们是一个团队,所以这个奖项是我们的!干得好。