zoukankan      html  css  js  c++  java
  • js递归根据父级id获取所有的子节点

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    
    <body>
        <script>
            /*
    id: 子节点的pid,
    pid: 0代表顶级数据 父id相当于子数据的pid
    label: 信息
    children: 数组 子节点数据
    */
            data = [{
                id: 1,
                label: '一中队',
                children: [{
                    id: 4,
                    label: '一支队',
                    children: [
                        {
                        id: 9,
                        label: '张三'
                    }, {
                        id: 10,
                        label: '李四',
                        children:[
                            {
                                  id: 110,
                                  label: '李110四',
                            }
                        ]
                    }
                    ]
                }]
            }, {
                id: 6,
                label: '四中队',
            }]
    
            var returnedItem = []; //定义一个空数组
            function find(arr, id) {
                //利用foreach循环遍历
                arr.forEach((item) => {
                    //判断递归结束条件
                    if (item.id == id) {
                        // 存储数据到空数组
                        returnedItem=item.children;
                    } else if (item.children != null) //判断chlidren是否有数据
                    {
                        //递归调用
                        find(item.children, id);
                    }
                })
                return returnedItem;
            }
    
            var item = new find(data, 10);
            console.log(item)
        </script>
    </body>
    
    </html>
    
    作者:明月人倚楼
    出处:https://www.cnblogs.com/IwishIcould/

    想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,或者关注博主,在此感谢!

    万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!

    想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

    支付宝
    微信
    本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    常见银行编码收集
    kafka集群在消息消费出现无法找到topic分区的处理解决
    find命令通过排序只保留最新的文件目录
    Git fetch和git pull的区别
    git 常用命令
    wordpress模板修改及函数说明
    webbench进行压力测试
    git存储用户名与密码
    导出putty配置
    一个成功的Git分支模型
  • 原文地址:https://www.cnblogs.com/IwishIcould/p/15178413.html
Copyright © 2011-2022 走看看