zoukankan      html  css  js  c++  java
  • JS树结构转list结构

    树转list

        /**
         * 树转list
         */
        function treeToList(tree){
            for(var i in tree){
                var node = tree[i];
                list = [];  //结果lsit
                if (node.children.length !== 0) {  //遍历树的第一层,只有一个根结点
                    //第一层加入到list中,因为根结点模块设置为虚拟结点,所以不用加入
                    /*list.push({
                        id: node.id,
                        name: node.title,
                        parentId:node.parentId
                    });*/
                    toListDF(node.children, list, node.id);  //遍历子树,并加入到list中.
                }
            }
            return list;
        }
    
        /**
         * 深度优先遍历树
         * 一个递归方法
         * @params tree:要转换的树结构数据
         * @params list:保存结果的列表结构数据,初始传list = []
         * @params parentId:当前遍历节点的父级节点id,初始为null(因为根节点无parentId)
         **/
        function toListDF (tree, list, parentId) {
            for (var i in tree) { //遍历最上层
                //将当前树放入list中
                var node = tree[i];
                list.push({
                    id: node.id,
                    name: node.title,
                    parentId:parentId
                });
                //如果有子结点,再遍历子结点
                if (node.children.length !== 0) {
                    toListDF(node.children, list, node.id)  //递归
                }
            }
        }
  • 相关阅读:
    人工智能应用卷积神经网络对食道癌的诊断结果--笔记
    面向对象设计
    结构化软件测试----白盒测试技术
    内聚与耦合的实例分析
    图书预定系统
    SQL小技巧
    Keras中RNN、LSTM和GRU的参数计算
    Keras+Tensorboard
    Floyd算法
    生成随机整数
  • 原文地址:https://www.cnblogs.com/aeolian/p/12028102.html
Copyright © 2011-2022 走看看