zoukankan      html  css  js  c++  java
  • 递归函数的应用

    一次开发中后台给出了这样的数据结构

    0:{ menuCode:"15e836e7b80e4948b82883582f8edb23"
    menuName:"选项参数配置"
    parentCode:"6d9ed858455c4d42bb4db7acbe352dac"
    }
    1:{ menuCode:"6d9ed858455c4d42bb4db7acbe352dac"
    menuName:"参数配置"
    parentCode:"c47314ec62ec465589cf9b71ef6018c5"
    }
    2:{
    menuCode:"c47314ec62ec465589cf9b71ef6018c5"
    menuName:"系统管理"
    parentCode:"0"
    }
    3:{menuCode:"f1d5969bca8f47a4a5cf831d825d0ac6"
    menuName:"用户管理"
    parentCode:"0"
    }
    4:{menuCode:"f727218c406147a0b20e546a2959ce77"
    menuName:"项目管理"
    parentCode:"0"
    }
    5:{menuCode:"fdbb8c7ab15c4054ad9fba3cc050ebdf"
    menuName:"单位管理"
    parentCode:"0"
    }

    达到如下效果:

    <div>单位管理</div>
    <div>项目管理</div>
    <div>用户管理</div>
    <div>系统管理
         <div>参数配置
              <div>选项参数配置</div>
         </div>
    </div>

    我的代码实现:

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
    </head>
    <body>
    <div id='root'></div>
    <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
    <script type="text/javascript">
    (function(){
    
    var result = [
        {
            "description": "",
            "menuCode": "15e836e7b80e4948b82883582f8edb23",
            "menuName": "选项参数配置",
            "parentCode": "6d9ed858455c4d42bb4db7acbe352dac"
        },
           {
               "description": "",
            "menuCode": "6d9ed858455c4d42bb4db7acbe352dac",
            "menuName": "参数配置",
            "parentCode": "c47314ec62ec465589cf9b71ef6018c5"
           },
           {
            "description": "",
            "menuCode": "c47314ec62ec465589cf9b71ef6018c5",
            "menuName": "系统管理",
            "parentCode": "0"
        },
        {
            "description": "",
            "menuCode": "f1d5969bca8f47a4a5cf831d825d0ac6",
            "menuName": "用户管理",
            "parentCode": "0"
        },
        {
            "description": "",
            "menuCode": "f727218c406147a0b20e546a2959ce77",
            "menuName": "项目管理",
            "parentCode": "0"
        },
        {
            "description": "",
            "menuCode": "fdbb8c7ab15c4054ad9fba3cc050ebdf",
            "menuName": "单位管理",
            "parentCode": "0"
        }
    ];
    
    result.forEach(function(value, index){
        if( value.parentCode == '0' ){
            $("#root").append("<div class='root' data-code="+value.menuCode+">"+value.menuName+"</div>");
        }
    });
    
    getDomNode($(".root"),'root');
    //最终的DOM结构输入到了root div中
    console.log( $('#root').html() );    //输出最终的DOM结构
    
    function getDomNode(ele, parentClass){
        ele.each(function(index, value){
            var id = $(this).attr('data-code');
            var isEnd = true;
            result.forEach(function(values, indexs){
                if( values.parentCode == id ){
                    isEnd = false;
                    var className = parentClass + '-' + indexs;
                    ele.eq(index).append("<div class="+className+" data-code="+values.menuCode+">"+values.menuName+"</div>");
                }
                if(isEnd == false){
                    getDomNode( $("."+className), className );
                }
            });
        });
    }
    
    })();
    </script>
    </body>
    </html>
    View Code
  • 相关阅读:
    Python中pymssql 的使用操作
    Python连接mysql数据库及简单增删改查操作示例代码
    Python之模块和包的创建与使用
    SQL SERVER将多行数据合并成一行
    SQL Server根据子查询更新语句update
    在VMware虚拟机中安装windows server2016步骤详解(带图解)
    http请求错误合集
    第三方图标库(三)iconMoon
    第三方图标库学习(二)Font Awesome
    MapperScannerConfigurer的原理
  • 原文地址:https://www.cnblogs.com/wangwenhui/p/7642996.html
Copyright © 2011-2022 走看看