根据子元素的id获取所有父级的guid
// 逆序,获取当前部门的所有父元素的guid
function getParentsId(arr, PK_Guid) {
var idArr = [];
var fns = function(arr, PK_Guid){
for (item of arr) {
if (item.PK_Guid == PK_Guid) {
idArr.push(item.PK_Guid);
break;
}
if (item.ChildNode && JSON.stringify(item.ChildNode).match(PK_Guid)) {
idArr.push(item.PK_Guid);
}
if (item.ChildNode) {
fns(item.ChildNode, PK_Guid);
}
}
}
fns(arr, PK_Guid, arr[0])
return idArr;
}
数据结构:
var data = [{
PK_Guid:'1a',
name:'1',
ChildNode:[
{PK_Guid:'11b',name:'11'},
{PK_Guid:'12b',name:'12',
ChildNode:[
{PK_Guid:'121c',name:'121',
ChildNode:[
{PK_Guid:'1211d',name:'1211'},
{PK_Guid:'1222d',name:'1222'},
]
},
{PK_Guid:'122c',name:'122'},
]
},
{PK_Guid:'13b',name:'13'},
]
}]
运行结果:
来源:CSDN
作者:darkblueLove
链接:https://blog.csdn.net/l284969634/article/details/103469242