根据id数组,删除二维对象数组中的指定项

新手上路,请多包涵

var arr = [1,4,5];

                var allArr = [
                    {'shop_name':'水果店','goods':[{id:1,name:"s"},{id:2,name:"ds"},{id:3,name:"gg"}]},
                    {'shop_name':'水果店1','goods':[{id:4,name:"s"},{id:5,name:"ds"},{id:6,name:"gg"}]},
                ]
                最终变成
                var allArr = [
                    {'shop_name':'水果店','goods':[{id:2,name:"ds"},{id:3,name:"gg"}]},
                    {'shop_name':'水果店1','goods':[{id:6,name:"gg"}]},
                ]
阅读 1.4k
1 个回答
allArr.reduce((res,item) => (res.push({...item, goods: item.goods.filter(v => !arr.includes(v.id))}), res), []);

[ps: 一个数组就难倒这么多人吗?都已经看到和回答过N遍这种问题了]

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题