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

大佬帮忙看一下逻辑的问题

大佬帮忙看一下逻辑的问题

开心每一天1111 2019-03-19 17:15:54
var a = [                {                    name: 'a',                    child: [{                            name: 'bb',                            limit: 12                        },                        {                            name: 'ss',                            limit: 12                        }                    ]                },                 {                    name: 'b',                    child: [{                            name: 'ss',                            limit: 12                        },                        {                            name: 'kk',                            limit: 12                        }                    ]                },                 {                    name: 'c',                    child: [{                            name: 'aa',                            limit: 12                        },                        {                            name: 'mm',                            limit: 12                        }                    ]                },                 {                    name: 'd',                    child: [{                            name: 'aa',                            limit: 12                        },                        {                            name: 'mm',                            limit: 12                        }                    ]                }            ];            var b = [                {                    name: 'b',                    child: [{                        name: 'ss'                    },{                        name:'kk'                    }]                },                 {                    name: 'a',                    child: [{                        name: 'ss'                    }]                }            ];我想要找出a里面所有和b name相同的,为什么我找出来是这样的
查看完整描述

4 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

你好好捋一捋,逻辑上是否有问题?要求的输出信息是什么
你提供的代码好像不完整,后面程序实现中的ab等对象不知道哪里来的。

查看完整回答
反对 回复 2019-04-05
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

想象一下e.child.forEach遍历到最后一个元素会是什么样子。。


查看完整回答
反对 回复 2019-04-05
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

var c = a.filter(e => {

  let index = b.findIndex(f => e.name === f.name)

  if (index === -1) return false

  let child2 = b[index].child

  e.child = e.child.filter(g => {

    let index = child2.findIndex(h => g.name === h.name)

    return index !== -1

  })

  return true

})


查看完整回答
反对 回复 2019-04-05
  • 4 回答
  • 0 关注
  • 441 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号