最新通知
递归根据子节点查找父元素
阅读次数:1160 最后编辑时间:2022年02月08日

概述

通过子节点id查找所属父级。

// 递归查找节点的父元素
var findParent = (data, id) => {
    // 返回数据集合
    var result = [];
    // 声明digui函数
    var fnc = function(arr, id) {
        // 遍历树
        for (var i = 0; i < arr.length; i++) {
            var item = arr[i];
            if (item.id == id) {
                result.push(item);
                // 查找其父节点
                forFn(data, item.pid);
                // 不必向下遍历,跳出循环
                break;
            } else {
                if (item.children) {
                    // 向下查找到id
                    fnc(item.children, id);
                }
            }
        }
    };
    // 调用函数
    fnc(data, id);
    // 返回结果
    return result;
};

// 调用函数
findParent(data, id); // 数组和子节点id,返回父级数组