樹形結構的數據,獲取子節點的所有父級節點方法


parentId(arr1,id){
    var temp = []
    var forFn = function (arr, id) {
        for (var i = 0; i < arr.length; i++) {
        var item = arr[i]
        if (item.id === id) {
            forFn(arr1, item.pid)
            temp.push(item.id)
            break
        } else {
            if (item.children) {
            forFn(item.children, id)
            }
        }
        }
        
    }
    forFn(arr1, id)
    return temp
}
 

首先對於樹形數據的格式 是這樣的,子節點的pid 就是其直系父節點的id

let arr1 = [
    {
        label: '一級 1',
        id:"1",
        children: [{
            label: '二級 1-1',
            id:"1-1",
            pid:"1",
            children: [{
                label: '三級 1-1-1',
                id:"1-1-1",
                pid:"1-1",
            }]
        }]
    }
]                                

(這個方法也是我今天百度來的,在此記錄一下,以便我后面用到方便找)


免責聲明!

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



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