js遞歸實現方式


遞歸的概念:

遞歸函數就是在函數體內調用本函數(通俗的說:也就是自己調用自己);

注意:使用遞歸函數時需要注意函數終止條件,避免死循環

實現方式:

舉個例子:給以下數據中的每一級都添加一個是屬性     selectedStatus:false

 

 

具體的數據結構:

let treeData =[
    {
        level: 0,
        parent_id: 0,
        name: "員工管理",
        id: 2,
        status: 1,
        child: [
            {
                level: 1,
                parent_id: 2,
                name: "辦理入職",
                id: 3,
                status: 1,
                child: [
                    {
                        level: 2,
                        parent_id: 3,
                        name: "直接辦理入職",
                        id: 4,
                        status: 1,
                        child:[]
                    },
                ]
            },
            {
                level: 1,
                parent_id: 2,
                name: "轉正管理",
                id: 5,
                status: 1,
                child: [
                    {
                        level: 2,
                        parent_id: 5,
                        name: "辦理轉正",
                        id: 6,
                        status: 1,
                        child:[]
                    }
                ]
            }
        ]
    },{
        level: 0,
        parent_id: 0,
        name: "員工管理",
        id: 2,
        status: 1,
    },{
        level: 0,
        parent_id: 0,
        name: "員工管理",
        id: 2,
        status: 1,
        child: [
            {
                level: 1,
                parent_id: 2,
                name: "辦理入職",
                id: 3,
                status: 1,
                child:[]
            }
        ]
    },
]

 

遞歸函數:

turn(list){
    list.forEach((v, k) => {
        v.selectedStatus = false;
        if(v.child){
            this.turn(v.child)
        }
    })
    console.log(list)
},


//調用函數
this.turn(treeData);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM