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