将一个对象数据用递归方法转换成一个树形结构的数组

对象数据:

 let dataA = {
                a: '张三',
                b: {
                    c: '李四'
                },
                d: {
                    e: '王五',
                    h: {
                        i: '孙七',
                        w: {
                            j: '周八'
                        }
                    }
                },
                f: {
                    g: '赵六',
                    h: {
                        i: '孙七',
                        w: {
                            j: '周八'
                        }
                    }
                }
            }

使用递归循环转换成树形结构的数据

 function objToTree(obj) {
            let arr = [];
            for (let key in obj) {
               //判断每个值是不是一个对象
                if (typeof obj[key] === 'object') {
                    arr.push({
                        label: key,
                        children: objToTree(obj[key])
                    })
                } else {
                    arr.push({
                        label: key + ':' + obj[key]
                    })
                }
            }
            return arr;
        }

        console.log(objToTree(dataA)); //返回数组对象

效果图:

猜你喜欢

转载自blog.csdn.net/m0_57071129/article/details/128968846
今日推荐