根据指定id递归树查到指定节点
javascript
// 定义数据
const data = [
{
"parentId": 0,
"children": [],
"id": 5,
"name": "等级测试"
},
{
"parentId": 0,
"children": [],
"id": 102,
"name": "山口组"
},
{
"parentId": 0,
"children": [
{
"parentId": 100,
"children": [
{
"parentId": 101,
"children": [],
"id": 146,
"name": "天天"
},
{
"parentId": 101,
"children": [],
"id": 149,
"name": "宁次"
}
],
"id": 101,
"name": "周杰伦组-A"
},
{
"parentId": 100,
"children": [],
"id": 126,
"name": "小李"
},
{
"parentId": 100,
"children": [],
"id": 145,
"name": "我爱罗"
},
{
"parentId": 100,
"children": [],
"id": 147,
"name": "迈特凯"
}
],
"id": 100,
"name": "重案组"
}
];
// 递归查找函数
function findCategoryById(data, targetId) {
for (const item of data) {
if (item.id === targetId) {
return item;
}
if (item.children && item.children.length > 0) {
const result = findCategoryById(item.children, targetId);
if (result) {
return result;
}
}
}
return null;
}
// 查找 id 为 101 的数据
const result = findCategoryById(data, 101);
console.log(result);