getNodeParents(map, key) { let t = [] for (let i = 0; i < map.length; i++) { const e = map[i] if (e.id === key) { //若查询到对应的节点,则直接返回 t.push(e.id) break } else if (e.children && e.children.length !== 0) { //判断是否还有子节点,若有对子节点进行循环调用 let p = this.searchParent(e.children, key) //若p的长度不为0,则说明子节点在该节点的children内,记录此节点,并终止循环 if (p.length !== 0) { p.unshift(e.id) t = p break } } } return t }
getNodeParents(data,'1698578019674886144')
const data = [{
"id": "1",
"label": "宝鸡市公安局",
"children": [
{
"id": "1719247786848948224",
"label": "123",
},
{
"id": "1698576448228560896",
"label": "渭滨分局",
},
{
"id": "2",
"label": "金台分局",
"children": [
{
"id": "1698577622390411264",
"label": "中山东路派出所",
},
{
"id": "3",
"label": "陈仓派出所",
"children": [
{
"id": "1698578019674886144",
"label": "陈仓区警务室",
}
]
},
{
"id": "111111111111111",
"label": "西关街道分局",
"children": [
{
"id": "333",
"label": "西关派出所1",
},
{
"id": "222222222",
"label": "西关街道派出所",
}
]
}
]
}
]
}
]