Javascript 如何区分两个数组?

Javascript 如何区分两个数组?,javascript,Javascript,我只想得到用户,而不是朋友 我有两个列表,朋友和用户, 如果他们已经是朋友,那么用户列表将不再存在 朋友=[{ 朋友:{ id:3, 姓名:tres }, 所有者:{ id:1, 姓名:uno } }]; 让用户=[{ id:1, 姓名:uno, }, { id:2, 名称:dos }] users=users.filtercurrentUser=> 让flag=false,friends.forEachfunctioncurrent{ 如果currentUser.id==current.fr

我只想得到用户,而不是朋友

我有两个列表,朋友和用户, 如果他们已经是朋友,那么用户列表将不再存在

朋友=[{ 朋友:{ id:3, 姓名:tres }, 所有者:{ id:1, 姓名:uno } }]; 让用户=[{ id:1, 姓名:uno, }, { id:2, 名称:dos }] users=users.filtercurrentUser=> 让flag=false,friends.forEachfunctioncurrent{ 如果currentUser.id==current.friend.id{ flag=true; } } 返回标志; ;
console.logusers 如果我理解正确,您的朋友数组是一个关系列表。所以

{ 朋友:{id:3,name:tres}, 所有者:{id:1,名称:uno} } 表示用户id 1是用户id 3的朋友

因此,要查看一个集合,只需使用或,以读得更好的为准:

const friendless=用户,friends=> users.filteruser=>!friends.somerelationship=>relationship.friends.id===user.id 让用户=[ {id:1,name:uno}, {id:2,name:dos}, {id:3,name:tres} ] 让朋友们[{ 朋友:{id:3,name:tres}, 所有者:{id:1,名称:uno} },{ 朋友:{id:2,name:dos}, 所有者:{id:1,名称:uno} }, { 朋友:{id:3,name:tres}, 所有者:{id:2,名称:dos} }]; 控制台日志 没有朋友的用户,朋友
我想你想看看或。@ScottSauyet但我有两个数组。。。在你的过滤器里。比如users.filteruser=>friends.everyrelationship=>relationship.friends.id!==user.id或users.filteruser=>!friends.somerelationship=>relationship.friend.id===user.id,哪一个对你更合适。@ScottSauyet你的答案很漂亮!!!工作很好。这里的一些和每一个之间的选择是一个有趣的选择。您真正想要的是一个none,但是您可以使用一些或每个来模拟它。