求解这种小题鸭鸭鸭....

// 例如以下三个个数组:
      let A = [ id : '1', title : '天安门'];
      let B = [ id :'2', title : '故宫'];
      let C = [ name : '小明', numb : '1', id : '1'];
      let D = [ name : '小红', numb : '2', id : '1'];
      let E = [ name : '小王', numb : '3', id : '2'];
      let F = [ name : '小李', numb : '4', id : '2'];
      // 结果需要变成:
      list = [
        {
          id:'1',
          title:'天安门',
          children:[
            {name:'小明', numb : '1'},
            {name:'小红', numb : '2'}
          ]
        },
        {
          id:'2',
          title:'故宫',
          children:[
            {name:'小王', numb : '3'},
            {name:'小李', numb : '4'}
          ]
        }
      ]

问题可能有点水,给个Demo 啥的可否,ahhhhhhh

阅读 1.9k
4 个回答

数据为何不这样初始化?

        let A = [{ id: '1', title: '天安门' },{ id: '2', title: '故宫' }];
        let C = [{ name: '小明', numb: '1', id: '1' }, { name: '小红', numb: '2', id: '1' }, { name: '小王', numb: '3', id: '2' }, { name: '小李', numb: '4', id: '2' }];
        
        var list = [];
        A.forEach((a) => {
            a.children = []
            C.map((c) => {
                if(a.id.indexOf(c.id) > -1){
                    delete c.id;
                    a.children.push(c);
                }
            })
            list.push(a);
        })
        console.log(list);
function transform(groups, children) {
  const childrenMap = {}
  children.forEach(c => {
    if (!childrenMap[c.id]) {
      childrenMap[c.id] = {
        children: [c],
      }
    } else {
      childrenMap[c.id].children.push(c)
    }
  })

  const groupsMap = {}
  groups.forEach(g => {
    if (!groupsMap[g.id]) {
      groupsMap[g.id] = g
    }
  })
  return Object.keys(groupsMap).map(groupId => ({
    ...groupsMap[groupId],
    ...childrenMap[groupId],
  }))
}
        let A = [ id : '1', title : '天安门'];
      let B = [ id :'2', title : '故宫'];
      let C = [ name : '小明', numb : '1', id : '1'];
      let D = [ name : '小红', numb : '2', id : '1'];
      let E = [ name : '小王', numb : '3', id : '2'];
      let F = [ name : '小李', numb : '4', id : '2'];

这个基础数据就这么多 还是这些数据是一个结构里面的

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