递归方法 (遍历数据,获取树型结构)

94 阅读1分钟

1.代码如下

 <script>
        const array = [
            { "classId": 1, "parentId": 0, "className": "交通卡" }, 
            { "classId": "1603216913953267714", "parentId": "1603213321083101186", "className": "tst423423" }, 
            { "classId": "1603213321083101186", "parentId": 0, "className": "test" }, 
            { "classId": "1603216806235152386", "parentId": 0, "className": "明天" }, 
            { "classId": 5, "parentId": 2, "className": "交通银行" },
            { "classId": 2, "parentId": 0, "className": "金融卡" }, 
            { "classId": 3, "parentId": 1, "className": "中铁银通卡" }, 
            { "classId": 4, "parentId": 1, "className": "京津同城卡" }]
        const transListToTreeData=(data,rootVal)=>{
            const arr=[]
            // 遍历树型结构要有头有尾 要明确从哪里开始遍历
            // 找根
            data.forEach((item)=>{
                if(item.parentId===rootVal){
                    arr.push(item)
                    const children= transListToTreeData(data,item.classId)
                    children.length&&(item.children=children)
                }
            })
            return arr
        }
        console.log(transListToTreeData(array,0)) //从0开始找
        
    </script>

2.展示结果如下

企业微信截图_16717600036252.png