es6 递归 tree

function loop(data) {
		let office = data.map(item => {
			if (item.children) {
				if(item.type == ‘1‘ ||item.type == ‘2‘) {
					item = {...item,disabled:true,children:loop(item.children)}
					return item
				}
			}
		})
		return office
	}
	let officeDataTree = loop(officeData)

  

时间: 2024-08-03 10:44:30

es6 递归 tree的相关文章

使用mysql存储过程递归tree(如一个上级下面的所有下级的所有下级。。。。)

创建存储过程 DROP FUNCTION `getSubAgent`;CREATE FUNCTION `getSubAgent` (agentId INT)RETURNS VARCHAR(4000)BEGINDECLARE sTemp VARCHAR(4000);DECLARE sTempChd VARCHAR(4000); SET sTemp = 0;SET sTempChd = cast(agentId as char); WHILE sTempChd is not NULL DOSET s

ES6将两个数组合并成一个对象数组

需求 有这么两个数组 1 let metrodates = [ 2 "2008-01", 3 "2008-02", 4 "2008-03",..ect 5 ]; 6 let figures = [ 7 0, 8 0.555, 9 0.293,..ect 10 ] 想要这样的结果 1 let result = [ 2 {data: 0, date: "2008-01"}, 3 {data: 0.555, date: "

webpack的世界

本文也是多次学习webapck积累下来的知识点,一直在云笔记里. webpack的原理 webpack构建流程 从启动webpack构建到输出结果经历了一系列过程,它们是: 解析webpack配置参数,合并从shell传入和webpack.config.js文件里配置的参数,生产最后的配置结果. 注册所有配置的插件,好让插件监听webpack构建生命周期的事件节点,以做出对应的反应. 从配置的entry入口文件开始解析文件构建AST语法树,找出每个文件所依赖的文件,递归下去. 在解析文件递归的过

linux文件系统、重定向及其常用命令总结

一.常用命令 touch命令:     touch [OPTION]... FILE...      -a:atime       -m:mtime       -c:ctime access.modify.change三个时间戳的区别: Access:访问时间,atime,通过cat.more等读取其内容 Modify:修改时间,mtime,改变文件的内容  Change:改变时间,ctime,改变文件的元数据,即修改权限.属组.属主等 使用stat命令可查看文件的三个时间戳如下: cp命令:

二叉树算法小结

= 导航 顶部 概述 准备工作 先序遍历法 中序遍历法 后序遍历法 层次遍历法 测试 总结 顶部 概述 准备工作 先序遍历法 中序遍历法 后序遍历法 层次遍历法 测试 总结 概述 遍历二叉树有前序,中序,后序三大方法算.对于二叉树的三种不同的遍历方式,用递归的方法很容易写出实现代码,对于非递归的遍历算法使用数据结构堆栈作为工具代替递归以节省时空开销,在经过节点是先将其压入栈,要到他第几次从栈中弹出是才访问它,对于前序来说,是一次,对于中序来说是两次,对于后序则是三次.下面介绍下二叉树的几种遍历算

03 辅助函数三

返回结构化数据 1 def ajaxReturn(info,data={}): 2 import json 3 info['data'] = data 4 return json.dumps(info) 递归tree 1 def get_tree(data,pid=0,level=0): 2 data_list = [] 3 for info in data: 4 if info['pid'] == pid: 5 info['level'] = level 6 info['name'] = '^

递归和循环---从EasyUI Tree 发现自己的硬伤

前一阵子,朋友托我帮忙用vb.net写一个数独游戏,我当时的第一个想法---万能的互联网肯定有资源,肯定有人写---当然这是必须的---我站在巨人的肩膀上帮朋友完成代码---但是我突然觉得自己站在巨人这么高的肩膀上太高耸,想要找一下脚踏实地的感觉,所以我想自己写写,看看能不能写出来,结果就是------我压根没有思路. 对,毫不夸张,无从下手. 更深刻的一件事就是项目中用的的树状结构(easyui tree 实现),同样是根据数据库动态生成,我站在巨人的肩膀上,看着网上类似的datatable转

UVa 112 - Tree Summing(树的各路径求和,递归)

题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&page=show_problem&problem=48 Tree Summing  Background LISP was one of the earliest high-level programming languages and, with FORTRAN, is one of the olde

leetcode之Binary Tree Preorder Traversal (前序),中序,后续。非递归,递归

1:前序遍历(根,左,右) 递归的方法很简单: public static void pr(TreeNode root){ if(root!=null){ System.out.println(root.val); pr(root.left); pr(root.right); } } 非递归的方法:可以借助栈,入栈的顺序分别为右,左,根. 代码如下: public List<Integer> preorderTraversal(TreeNode root) { List<Integer&