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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM