树形结构的数据,获取子节点的所有父级节点方法


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