有一组js数组:

let data=[    {id:1,parentid:0,name:'春树团体'},    {id:2,parentid:0,name:'海亮团体'},    {id:3,parentid:1,name:'科技部'},    {id:4,parentid:1,name:'设计部'},    {id:5,parentid:1,name:'运维部'},    {id:6,parentid:2,name:'科技部'},    {id:7,parentid:2,name:'客服部'},]

应用如下代码:

let dataMap={}data.map(item=>{    dataMap[item.id]=item})

就失去了上面的对象:

{  '1': { id: 1, parentid: 0, name: '春树团体' },  '2': { id: 2, parentid: 0, name: '海亮团体' },  '3': { id: 3, parentid: 1, name: '科技部' },  '4': { id: 4, parentid: 1, name: '设计部' },  '5': { id: 5, parentid: 1, name: '运维部' },  '6': { id: 6, parentid: 2, name: '科技部' },  '7': { id: 7, parentid: 2, name: '客服部' }}

而后再:

const rootList=[]data.map(item=>{    if(!item.parentid){        rootList.push(item)    }else{        if(dataMap[item.parentid].children===undefined){            dataMap[item.parentid].children=[]        }        dataMap[item.parentid].children.push(item);    }})

就变成了:

[  {    id: 1,    parentid: 0,    name: '春树团体',    children: [ [Object], [Object], [Object] ]  },  {    id: 2,    parentid: 0,    name: '海亮团体',    children: [ [Object], [Object] ]  }]