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);
  • 相关阅读:
    老男孩九期全栈Python之基础一
    为善如挽逆水之舟,才放手便下流
    对自己的表现打分
    anki
    解决推送数据平台
    己所独知,尽是方便;人所不见,尽是自由
    常与权
    为什么会一直刷视频而停不下来
    准备换个房子
    UDEC 1
  • 原文地址:https://www.cnblogs.com/dreamstartplace/p/14892453.html
Copyright © 2011-2022 走看看