zoukankan      html  css  js  c++  java
  • js 递归树结构数据查找所有父级

    需求:通过传入当前节点的code,查询出所有的父级节点

    export function getParent(data2, nodeId2) {
        var arrRes = [];
        if (data2.length == 0) {
            if (!!nodeId2) {
                arrRes.unshift(data2)
            }
            return arrRes;
        }
        let rev = (data, nodeId) => {
            for (var i = 0, length = data.length; i < length; i++) {
                let node = data[i];
                if (node.id == nodeId) {
                    arrRes.unshift(node)
                    rev(data2, node.parentCode); // 注意这里是传入的tree,不要写成data了,不然遍历的时候一直都是node.children,不是从最顶层开始遍历的
                    break;
                }
                else {
                    if (!!node.children) {
                        rev(node.children, nodeId);
                    }
                }
            }
            return arrRes;
        };
        arrRes = rev(data2, nodeId2);
        return arrRes;
    }

    调用时,传入数据和当前节点code(数据为树型结构)

    let newLevel = getParent(this.info, row.id)

  • 相关阅读:
    Junit。。。
    TCP
    InetAddress
    URL
    【转】Hello SDL
    批量移动文件
    在阿里云Ubuntu 14.04.5 LTS下安装nethogs0.8.5
    十二银元分三次找一假
    SQL解析
    POI
  • 原文地址:https://www.cnblogs.com/mmzuo-798/p/13886620.html
Copyright © 2011-2022 走看看