美文网首页
js处理树结构数据-给树节点添加本级数据

js处理树结构数据-给树节点添加本级数据

作者: 甘道夫老矣 | 来源:发表于2023-07-04 13:07 被阅读0次

场景:需要给数据处理成树结构数据,并把每个 节点添加本级数据

  let obj = {
                    label: "name",
                    value: "id",
                    fatherId: "orgId"
 }
 let data = this.transformTree(arr2, obj);
 //递归处理级联数据fun1
    transformTree = (list: any, obj: any, type: number) => {
        let tree = [];
        for (let i = 0, len = list.length; i < len; i++) {
            if (list[i][obj.fatherId] === '0' || !list[i][obj.fatherId]) {
                  let item = this.queryChildren2(list[i], list, obj);
                    item.title = item[obj.label];
                    item.key = item[obj.value];
                    tree.push(item);
            }
        }
        return tree;
    };
 queryChildren2 = (parent: any, list: any, obj: any) => {
        let children = [];
        for (let i = 0, len = list.length; i < len; i++) {
            if (list[i][obj.fatherId] === parent[obj.value]) {
                let item = this.queryChildren2(list[i], list, obj);
                item.title = item[obj.label];
                item.key = item[obj.value];
                // item.extra=item;
                children.push(item);
            }
        }
        if (children.length) {
            if (parent.isLeaf) {
                delete parent.isLeaf;
            }
//处理本级
            let thisLevel = JSON.parse(JSON.stringify(parent));
            thisLevel.title = '本级--' + thisLevel.name;
            thisLevel.isThisLevel = true;
            thisLevel.isLeaf = true;
            children.unshift(thisLevel)
            parent.children = children;
        } else {
            parent.isLeaf = true;
        }
        return parent;
    }

相关文章

  • 03-树结构

    树结构依靠节点、叶子节点、子树将自身的数据扩展为像一棵倒过来的树 1. 什么是树结构 树结构依托路径、节点、叶子节...

  • 10、Zookeeper的数据与存储

    一、内存数据 Zookeeper的数据模型是树结构,在内存数据库中,存储了整棵树的内容,包括所有的节点路径、节点数...

  • mongodb学习笔记

    分片,副本级集群对比 分片节点 Shard节点:存取数据的节点( 单个mongod)Config server:储...

  • zookeeper(二)数据结构及作用体现

    一、zk 数据模型介绍 zk 中的数据结构是一棵树结构 每个节点都是一个 znode,节点中可以保存数据,节点可以...

  • js中树结构根据条件查找节点返回节点路径

    关键词:树结构; 路径搜索; 树结构,根据叶子节点id获取从根节点到叶子节点的完整路径 数据示例 查找函数 函数调...

  • 数据结构-树

    [TOC] 前端工作中常见的树包括:DOM树、级联选择、树形控件... JS中没有树结构数据,但可以用Object...

  • Hadoop分布式环境添加一个新的数据节点

    Hadoop的分布式环境中数据节点越多,集群的处理能力越强, 所有我们经常需要给集群添加新的数据节点. 系统 首先...

  • 二叉查找树的搜索、插入、删除、遍历等操作

    节点结构,每个节点保存left节点 & right节点,以及当前节点的数据 二叉树结构 搜索,使用递归 插入操作,...

  • appium-关于xml的知识

    XML DOM节点树 XML DOM将XML文档作为树结构,树结构称为一个节点树。所有的节点可以通过树访问,它们的...

  • 分表分库的一些思考

    1.一致性hash算法,如果用来做分表分库,添加节点或者删除节点,原数据应该怎么处理???根据hash算法刷数据?...

网友评论

      本文标题:js处理树结构数据-给树节点添加本级数据

      本文链接:https://www.haomeiwen.com/subject/fxbqudtx.html