把你吃成个大胖子 2022-05-17 10:02 采纳率: 57.4%
浏览 97
已结题

两数组对象对比,如果相同就放到A数组对象内,


      const Alist = [{ name: 'aa', }, { name: 'bb', }, { name: 'cc' },]
      const Blist = [{ name: 'aa', id: 1 }, { name: 'bb', id: 2 }, { name: 'bb', id: 3 }, { name: 'cc', id: 4 }, { name: 'aa', id: 5 },]

怎么把上面2组数组对比后 得到下面的新数组

      const AlistNew = [{ name: 'aa', list: [{ id: 1 }, { id: 5 }] }, { name: 'bb', list: [{ id: 2 }, { id: 3 }] }, { name: 'cc', list: [{ id: 4 }] },]

  • 写回答

4条回答 默认 最新

  • 雪狼之夜 优质创作者: 编程框架技术领域 2022-05-17 10:13
    关注
    const Alist = [
            { name: 'aa', }, 
            { name: 'bb', }, 
            { name: 'cc' },
        ]
        const Blist = [
            { name: 'aa', id: 1 }, 
            { name: 'bb', id: 2 }, 
            { name: 'bb', id: 3 }, 
            { name: 'cc', id: 4 }, 
            { name: 'aa', id: 5 }
        ]
         Alist.forEach((v,i)=>{
             Blist.forEach((vv,ii)=>{
                 if(v.name==vv.name){
                     if(!v.list){
                         v.list=[]
                     }
                    v.list.push({
                        id:vv.id
                    })
                 }
             })
         })
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月17日
  • 赞助了问题酬金5元 5月17日
  • 创建了问题 5月17日