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

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相同的,为什么我找出来是这样的

https://img4.mukewang.com/5ca6f2290001df5f08000393.jpg

开心每一天1111
浏览 442回答 4
4回答

手掌心

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

慕尼黑的夜晚无繁华

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

慕妹3146593

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})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript