let data = [
{
"id": 1,
"label": "菜单1",
"children": [
{
"id": 2,
"label": "菜单1-1",
"children": [
{
"id": 3,
"label": "菜单1-1-1",
},
{
"id": 4,
"label": "菜单1-1-2",
}
],
},
{
"id": 5,
"label": "菜单1-2",
"children": [
{
"id": 6,
"label": "菜单1-2-1",
},
{
"id": 7,
"label": "菜单1-2-2",
},
],
},
]
},
{
"id": 11,
"label": "菜单2",
"children": [
{
"id": 8,
"label": "菜单2-1",
"children": [
{
"id": 9,
"label": "菜单2-1-1",
},
{
"id": 10,
"label": "菜单2-1-2",
}
],
},
]
}
]
function findParent(data, target, result) {
for (let item of data) {
console.log(2222)
if (item.id === target.id) {
result.unshift(item.label)
return true
}
if (item.children && item.children.length > 0) {
let isFind = findParent(item.children, target, result)
console.log(11111)
if (isFind) {
result.unshift(item.label)
return true
}
}
}
return false
}
let target = { "id": 6, "label": "菜单1-2-1" }
let result = []
findParent(data, target, result)
console.log(result)
console