当前位置: 首页 > news >正文

javaScript 树形结构 递归查询方法。

1. 函数递归定义

        程序调用自身的编程技巧称为递归( recursion)。

2.使用条件

 1.存在限制条件,当满足这个限制条件的时候,递归便不再继续。
 2.每次递归调用之后越来越接近这个限制条件。

 3.既然是自己调用自己,那么整个逻辑一定是很有规律,对应的传入的参数也一定很有规律。例如常见的 Tree 树形结构,每一个对象的结构一致。

{"id": 91,"name": "一级","code": "91","type": "org","parentId": 0,"remark": null,"unused": true,"permission": true,"children": [{"id": 1109,"name": "xxxx","code": "134xxxxxx86","type": "user","parentId": 91,"remark": "","unused": true,"permission": true,"children": null},]
}

3. 递归方法 

function findTreeNodeById(node, id) {if (node !=null){if (Number(node.id)==Number(id)){return node;}else{if ( node.children!=null && node.children.length>0){for (let i = 0;i<node.children.length;i++){let result =  findTreeNodeById(node.children[i],id);if (result){return result;}}}}}else {return null;}
}

http://www.lryc.cn/news/108924.html

相关文章:

  • MySQL语法2
  • Mysql on duplicate key update用法及优缺点
  • 【Linux】-进程概念之进程优先级(如何去进行调度以及进程切换),还不进来看看??
  • 《在细雨中呼喊》阅读笔记
  • 01-1 搭建 pytorch 虚拟环境
  • RocketMQ 事务消息
  • Windows安装ElasticSearch
  • 【深度学习】SMILEtrack: SiMIlarity LEarning for Multiple Object Tracking,论文
  • 【Kubernetes】Kubernetes之二进制部署
  • 京东开源的、高效的企业级表格可视化搭建解决方案:DripTable
  • STL C++学习背景
  • C#踩坑:谨慎在XML数据列上绑定鼠标事件!
  • 逻辑代数运算
  • win10笔记本显示器根据页面显示亮度自动调节亮度的问题
  • 无人驾驶实战-第一课(自动驾驶概述)
  • 15.节点操作
  • C语言自定义类型 — 结构体、位段、枚举、联合
  • 新手指南:流程图中各种图形的含义及用法解析
  • 【知识产权】专利的弊端
  • 用Rust实现23种设计模式之抽象工厂
  • 31.利用linprog 解决 投资问题(matlab程序)
  • 整数线性规划求解工具isl使用方法
  • SystemC的调度器
  • SpringBoot、SpringCloud 版本查看
  • AI Chat 设计模式:12. 享元模式
  • Spring mvc:SpringServletContainerInitializer
  • 微信小程序中的全局数据共享(状态管理)使用介绍
  • LLM - LLama 模型读取报错 TypeError: not a string
  • 2023年08月在线IDE流行度最新排名
  • k8s的架构