利用递归将数据转换为树形图

 const arr = [

            { 'id': '29', 'pid': '', 'name': '总裁办' },

            { 'id': '2c', 'pid': '', 'name': '财务部' },

            { 'id': '2d', 'pid': '2c', 'name': '财务核算部' },

            { 'id': '2f', 'pid': '2c', 'name': '薪资管理部' },

            { 'id': 'd2', 'pid': '', 'name': '技术部' },

            { 'id': 'd3', 'pid': 'd2', 'name': 'Java研发部' }

        ]

 

 function  tree(arr,pid = '' ) {

            let newArr = []

           newArr = arr.filter(item=>item.pid===pid)

 

           newArr.forEach(item=>{

               item.children = tree(arr,item.id)

           })

            return newArr

        }

       const list = tree(arr)

       console.log(list);

 

Guess you like

Origin blog.csdn.net/weixin_58726419/article/details/120983617