直接上干货,兄弟们,如果对你有用点个赞呗,谢谢了:
//树形结构数据
let list = [
{
label: '一级1',
id:"1",
parentId:'',
children: [{
label: '二级1-1',
id:"1-1",
parentId:"1",
children: [{
label: '三级1-1-1',
id:"1-1-1",
parentId:"1-1",
}]
}]
}
]
//获取指定id的所有父节点的ids
getParentIds(list,id){
let temp = []//结果对象
let forFn = function (arr, id) {
for (let i = 0; i < arr.length; i++) {
let item = arr[i]
if (item.id === id) {
forFn(list, item.parentId)
temp.push(item.id)
break
} else {
if (item.children) {
forFn(item.children, id)
}
}
}
}
forFn(list, id)
return temp
}
//调用和结果展示
let res = getParentIds(list,'1-1-1')
console.log(res)//['1','1-1','1-1-1']