/**
*? 樹(shù)形結(jié)構(gòu)數(shù)據(jù) 已知某一子節(jié)點(diǎn) 一次向上獲取所有父節(jié)點(diǎn)
* */
treeFindPath(tree, func, key, path = []) {
if (!tree)return []
for (const data of tree) {
//這里按照你的需求來(lái)存放最后返回的內(nèi)容吧
? ? path.push(data[key])
if (func(data)) {
return path
}
if (data.children) {
const findChildren =this.treeFindPath(data.children, func, key, path)
if (findChildren.length) {
return findChildren
? ? ? }
}
path.pop()
}
return []
}
//調(diào)用
res.data.id = 節(jié)點(diǎn)數(shù)據(jù)
treeFindPath(tree, data => data['id'] == res.data.id,'id')