为了账号安全,请及时绑定邮箱和手机立即绑定

返回与另一个对象数组的属性匹配的对象数组的子集

返回与另一个对象数组的属性匹配的对象数组的子集

慕标5832272 2021-10-21 14:41:59
输入:const parentArray = [{id:1, name:'foo'},{id:2, name:'bar'},{id:4, name:'foobar'},{id:6, name:'barfoo'}]const childArray = [  {parent_id:1, prop:'prop1'},   {parent_id:2, prop:'prop2'},   {parent_id:3, prop:'prop3'},  {parent_id:4, prop:'prop4'},  {parent_id:5, prop:'prop5'}];输出:const resultingArray = [{id:1, name:'foo'},{id:2, name:'bar'},{id:4, name:'foobar'}]我想比较两个数组的属性id并parent_id返回parentArray匹配属性的子集我尝试使用 lodash 过滤掉它们但没有成功
查看完整描述

3 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

您可以Set为想要的父母取 a并过滤parent数组。


var parents = [{ id: 1, name: 'foo' }, { id: 2, name: 'bar' }],

    children = [{ parent_id: 1, prop: 'prop1' }, { parent_id: 3, prop: 'prop3' }],

    wanted = new Set(children.map(({ parent_id }) => parent_id)),

    result = parents.filter(({ id }) => wanted.has(id));


console.log(result);


查看完整回答
反对 回复 2021-10-21
  • 3 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信