Javascript Lodash:\u使用另一个集合筛选集合
快速问题:我有两个集合,仅当集合B的id在集合A中可用且其 A组:Javascript Lodash:\u使用另一个集合筛选集合,javascript,angular,lodash,Javascript,Angular,Lodash,快速问题:我有两个集合,仅当集合B的id在集合A中可用且其 A组: { Hz6NkEhA7HeQbYv1D9cF1nJW9qg1: true, IpU5WL7NcCcPP54Y20awU0SgdGu2: true, L1TOEwgwtbMjVBWMvbrZDvQprO72: true, PzoRPT0YPxMP6xCBxioGk2bigzN2: false, Q45P0PgObWPsbm0TwrUjwUAd5rT2: false } B组: { 0: { id:
{
Hz6NkEhA7HeQbYv1D9cF1nJW9qg1: true,
IpU5WL7NcCcPP54Y20awU0SgdGu2: true,
L1TOEwgwtbMjVBWMvbrZDvQprO72: true,
PzoRPT0YPxMP6xCBxioGk2bigzN2: false,
Q45P0PgObWPsbm0TwrUjwUAd5rT2: false
}
B组:
{
0: {
id: 'Hz6NkEhA7HeQbYv1D9cF1nJW9qg1'
},
1: {
id: 'Q45P0PgObWPsbm0TwrUjwUAd5rT2'
},
2: {
id: 'Q45P0PgObWPsbm0TwrUjwUAd5rT2'
}
}
如何使用lodash过滤这两个阵列?
我被那些不同的物体、阵列等困住了
非常感谢你的帮助 您的集合不是数组(它们是对象),因此lodash
\uux.pickBy
方法可能更适合这种情况。对于\ pickBy
,将要拾取的对象作为第一个参数,然后将筛选函数作为第二个参数。将使用两个参数调用该筛选函数:集合中项的键和值
因此,为了满足您的需要,您可以确保id存在于第一个集合中,并且其值为true
(在colC
中演示),或者选择id存在于第一个集合中的项目,而不考虑其值(在colD
中演示)。希望其中一个能成为你想要的
const-colA={
Hz6NkEhA7HeQbYv1D9cF1nJW9qg1:正确,
IpU5WL7NcCcPP54Y20awU0SgdGu2:正确,
L1TOEWGWBMJVBWMVBRZDVQPRO72:正确,
pzort0ypxmp6xcbxiogk2bigzn2:false,
Q45P0PgObWPsbm0TwrUjwUAd5rT2:错误,
Hz6NkEhA7HeQbYv1D9cF1nJW9qg1:正确,
}
常数colB={
0: {
id:'Hz6NkEhA7HeQbYv1D9cF1nJW9qg1'
},
1: {
id:'Q45P0PgObWPsbm0TwrUjwUAd5rT2'
},
2: {
id:'Q45P0PgObWPsbm0TwrUjwUAd5rT2'
}
}
const colC=u.pickBy(colB,val=>colA[val.id])
console.log(colC)
const colD=u.pickBy(colB,val=>colA中的val.id);
console.log(冷)
这里有什么问题吗?因为这看起来像是一项工作任务。对不起,托马拉克。我编辑了我的答案,并希望使用lodash来使用_filter.“…这两个数组”:它们不是数组(您也可以自己动手,注意更多的逻辑位置,以便正确地进行换行和缩进)。回答您的问题“如何使用lodash进行过滤”:通过尝试、阅读文档、查找类似的问题和答案、再次尝试。。。如果你在这样做的时候被卡住了,回来问一个具体的问题。