<script>
const originData = {
"id": "root",
"name": "root",
"children": [
{
"id": "11",
"name": "1-1",
"children": [
{
"id": "111",
"name": "1-1-1",
"children": [
{
"id": "1111",
"name": "1-1-1-1",
"children": [
{
"id": "11111",
"name": "1-1-1-1-1",
"children": []
},
{
"id": "11112",
"name": "1-1-1-1-2",
"children": []
},
]
},
]
},
]
},
{
"id": "12",
"name": "1-2",
"children": [
{
"id": "121",
"name": "1-2-1",
"children": [
{
"id": "1211",
"name": "1-2-1-1",
"children": []
}, {
"id": "1212",
"name": "1-2-1-3",
"children": []
},
]
},
]
}
]
}
let parentNameArr = []
bindFindKeys(originData, '11111');
//查找父级kye集合
function bindFindKeys(data, val) {
let list = data.children;
if (!list || !val) {
return ''
}
findParent(list, val);
parentNameArr.unshift(data.name)
console.log('结果', parentNameArr)
}
function findParent(item, nodeKey, parentVal) {
let list = originData.children;
for (let i = 0; i < item.length; i++) {
let node = item[i];
if (node.id === nodeKey) {
parentNameArr.unshift(node.name);
if (nodeKey === list[0].id) {
break
}
findParent(list, parentVal);
break
} else {
if (node.children) {
findParent(node.children, nodeKey, node.id);
}
continue
}
}
}
</script>
树形结构数据,已知当前Id,算出他所有父级
于 2022-10-20 20:58:09 首次发布
3640

被折叠的 条评论
为什么被折叠?



