树形结构的json 过滤某个节点是否在json中

8 篇文章 0 订阅
6 篇文章 0 订阅
该代码段展示了一个JavaScript函数`recursion`,用于深度遍历树形数据结构,查找指定ID的组织机构节点。函数接受两个参数:整个数据树和要过滤的目标节点ID。通过递归遍历数据,当找到目标ID时,设置标志`hasFound`为真并返回匹配的节点。若遍历完整棵树仍未找到,则返回false。
摘要由CSDN通过智能技术生成
// 组织机构数深度遍历获取某个机构是否在数据中0
export function recursion(data: any, filterData: any) {
    let hasFound = false,// 表示是否有找到id值
     result = null;
    const filter = (data: any) => {
        if (Array.isArray(data) && !hasFound) {
            // 判断是否是数组并且没有的情况下,
            data.forEach(item => {
                if (item.id === filterData.curOrgId) {
                    // 数据循环每个子项,并且判断子项下边是否有id值
                     result = item; // 返回的结果等于每一项
                    hasFound = true; // 并且找到id值
                } else if (item.children) {
                    filter (item.children); // 递归调用下边的子项
                }
            });
        }
    };
    filter (data); // 调用一下
    return hasFound;
}

recursion(data, filterData);

data: json(树形)

filterData:要过滤的某个节点

也是在网上找的解决方案 !!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值