zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    《入门经典》——6.25
    《入门经典》——6.24
    hdu4417
    poj2104(划分树模板)
    D. 实验室传染病
    poj2069
    poj1379
    hdu5950
    poj3417
    LCA——求解最近公共祖先
  • 原文地址:https://www.cnblogs.com/dreamstartplace/p/14892453.html
Copyright © 2011-2022 走看看