递归查找数据,
给出指定的id 或者… 在树结构数据中找出你想要的数据
以下模拟的是一个后端返回的树结构数据(做参考)
const data = {
"data": [
{
"children": [
{
"children": [
{
"id": 5,
"name": "子节点11",
"pId": 3,
"type": "1"
}
],
"id": 3,
"name": "子节点1",
"pId": 1,
"type": "1"
}
],
"id": 1,
"name": "根节点1",
"pId": 0,
"type": "1"
},
{
"children": [
{
"children": [],
"id": 4,
"name": "子节点2",
"pId": 2,
"type": "1"
}
],
"id": 2,
"name": "根节点2",
"pId": 0,
"type": "1"
}
],
"errorMsg": "",
"requestId": "",
"success": true
}
上代码:
const getTreeName = (list: string | any[], ids: number) => {
for (let i = 0; i < list.length; i++) {
if (list[i].id === ids) return list[i].name;
// 循环遍历判断 有没有下一级 children
if (list[i]?.children && list[i]?.children.length > 0) {
// 如果有,则传入 children 和指定ids 然后递归调用 getTreeName()
const res: any = getTreeName(list[i]?.children, ids);
if (res) return res;
}
}
};
如果有帮助到你 麻烦给一个三连+关注,能看到博主的最新blog
感谢感谢