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

这篇具有很好参考价值的文章主要介绍了javaScript 树形结构 递归查询方法。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 函数递归定义

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

2.使用条件

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

 3.既然是自己调用自己,那么整个逻辑一定是很有规律,对应的传入的参数也一定很有规律。例如常见的 Tree 树形结构,每一个对象的结构一致。文章来源地址https://www.toymoban.com/news/detail-624173.html

{
		"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;
	}
}

到了这里,关于javaScript 树形结构 递归查询方法。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mysql树形表的两种查询方案(递归与自连接)

    你有没有遇到过这样一种情况: 一张表就实现了一对多的关系,并且表中每一行数据都存在“爷爷-父亲-儿子-…”的联系,这也就是所谓的树形结构 对于这样的表很显然想要通过查询来实现价值绝对是不能只靠select * from table 来实现的,下面提供两种解决方案: inner join 关键

    2024年01月16日
    浏览(39)
  • C#性能优化-树形结构递归优化

    前言 大家好,我是wacky,最近在工作中遇到一个有趣的问题,同事反馈说WPF中有一个树形结构的集合,在加载时会直接报堆栈溢出,一直没时间(懒得)看,导致很久了也没人解决掉。于是,组长就把这个\\\"艰巨\\\"的任务交给了我。作为新人中的\\\"高手\\\",必然要义不容辞地接受挑战

    2024年02月14日
    浏览(36)
  • vue递归函数|树形结构或者权限使用

    👉vue获取到树形结构后递归遍历数据,生成树形结构数据,无限级_vue遍历树形数据_常威在打来福~的博客-CSDN博客 需求是:三级联动数据,获取到的数据也是树形结构的,需要不停的往下循环,但是又不确定是几层,那么这样需要用到递归方法。 代码实现:

    2024年02月06日
    浏览(30)
  • js递归遍历树形结构数据,获取所有数组id集合

    实现思路 可以使用递归遍历整个树形数组,将每个节点的id加入到一个数组中,最后返回这个数组即可。 数据准备 代码实现 方式一 获取结果 方式二 获取结果 方式三 获取结果 方法总结 这里的tree是树形数组,result是用来保存所有id的数组。 首先遍历当前层级的每个节点,

    2024年02月11日
    浏览(38)
  • JavaScript深拷贝(js深拷贝,JavaScript递归函数,实现深拷贝)

    简述:JavaScript的深拷贝和浅拷贝大家都比较熟悉,今天来分享下深拷贝,就是使用该函数时,会复制拷贝一份该数据,修改该数据属性,不会改变原有数据,就是把复制的对象所引用的对象全都复制了一遍,具体实现如下; 1、定义拷贝对象; 2、定义递归函数deepClone(),实现

    2024年02月15日
    浏览(49)
  • JavaScript之递归

    1、递归 2、循环 递归基础 return 3 * fun(2); return 3 * (2 * fun(1)); return 3 * (2 * 1); 6 最后的 return 需等待 fn 递归结束才执行 递归函数必须添加退出条件 纯递归实现斐波那契数列 递归+includes实现斐波那契数列 循环+解构实现斐波那契数列 alert MDN window.alert() 令浏览器显示一个带有可选

    2024年04月14日
    浏览(17)
  • 深度解析JavaScript递归函数

    深度解析JavaScript递归函数 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!在今天的文章中,我们将深入研究JavaScript中一个强大而神秘的编程概念——递归函数。让我们一起探秘递归的魅力,深入了解其

    2024年01月19日
    浏览(32)
  • 关于树形结构查询的接口设计

    2024年02月11日
    浏览(28)
  • 树形结构的节点作为查询参数业务

      有一个树结构,存在一个唯一的code和一个父节点的pcode,要求前端传入任意层的code匹配这个code对应的所有子节点对应的数据。   因为无法判定传入的code到底在那层,so 直接递归调用查询判断,如果有子节点就继续差,如果没有子节点,说明当前节点就是最后节点,直接写

    2024年02月09日
    浏览(35)
  • flutter开发实战-inappwebview实现flutter与Javascript方法调用

    flutter开发实战-inappwebview实现flutter与Javascript方法调用 在使用inappwebview时候,需要flutter端与JS进行交互,调用相应的方法,在inappwebview中的JavaScript Handlers。 要添加JavaScript Handlers,可以使用InAppWebViewController.addJavaScriptHandler方法,在该方法中定义handlerName和JavaScript端调用它时要

    2024年02月03日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包