更复杂的功能

<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head> <body>
<script>
var a = [
{
'fs': 1,
"id": 1,
"name": "轻应用管理",
"childrenIds": "10,11,12,13",
"parentId": 0,
"orderNum": 1,
"url": "/lightApp/light/list",
"description": "轻应用管理",
"createTime": "2018-09-19 17:18:25",
"modifyTime": "2018-09-21 11:17:54",
"status": "ENABLE",
"mustUse": "NO",
"own": true,
"childrens": [
{
'fs': 1,
"id": 10,
"name": "轻应用列表",
"childrenIds": null,
"parentId": 1,
"orderNum": 1,
"url": "/lightApp/light/list",
"description": "轻应用列表",
"createTime": "2018-09-19 17:25:49",
"modifyTime": "2018-09-19 17:25:49",
"status": "ENABLE",
"mustUse": "NO",
"own": true,
"childrens": null
},
{
'fs': 0,
"id": 11,
"name": "轻应用信息审核",
"childrenIds": null,
"parentId": 1,
"orderNum": 2,
"url": "/lightApp/auditInfo/list",
"description": "轻应用信息审核",
"createTime": "2018-09-19 17:26:28",
"modifyTime": "2018-09-19 17:26:28",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
},
{
'fs': 0,
"id": 12,
"name": "轻应用开发审核",
"childrenIds": null,
"parentId": 1,
"orderNum": 3,
"url": "/lightApp/auditDevelop/list",
"description": "轻应用开发审核",
"createTime": "2018-09-19 17:26:52",
"modifyTime": "2018-09-19 17:26:52",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
},
{
'fs': 0,
"id": 13,
"name": "轻应用接口审核",
"childrenIds": null,
"parentId": 1,
"orderNum": 4,
"url": "/lightApp/auditInterface/list",
"description": "轻应用接口审核",
"createTime": "2018-09-19 17:27:12",
"modifyTime": "2018-09-19 17:27:12",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
}
]
},
{
'fs': 0,
"id": 2,
"name": "小程序管理",
"childrenIds": "17,18,15,14,16",
"parentId": 0,
"orderNum": 2,
"url": "/applet/builtIn/list",
"description": "小程序管理",
"createTime": "2018-09-19 17:19:36",
"modifyTime": "2018-09-19 17:19:36",
"status": "ENABLE",
"mustUse": "NO",
"own": true,
"childrens": [
{
'fs': 0,
"id": 14,
"name": "内置小程序",
"childrenIds": null,
"parentId": 2,
"orderNum": 1,
"url": "/applet/builtIn/list",
"description": "内置小程序",
"createTime": "2018-09-19 17:27:55",
"modifyTime": "2018-09-19 17:27:55",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
},
{
'fs': 0,
"id": 15,
"name": "外置小程序",
"childrenIds": null,
"parentId": 2,
"orderNum": 2,
"url": "/applet/externalSet/list",
"description": "外置小程序",
"createTime": "2018-09-19 17:28:27",
"modifyTime": "2018-09-19 17:28:27",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
},
{
'fs': 0,
"id": 16,
"name": "小程序信息审核",
"childrenIds": null,
"parentId": 2,
"orderNum": 3,
"url": "/applet/auditInfo/list",
"description": "小程序信息审核",
"createTime": "2018-09-19 17:29:17",
"modifyTime": "2018-09-19 17:29:17",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
},
{
'fs': 0,
"id": 17,
"name": "小程序开发审核",
"childrenIds": null,
"parentId": 2,
"orderNum": 4,
"url": "/applet/auditDevelop/list",
"description": "小程序开发审核",
"createTime": "2018-09-19 17:29:52",
"modifyTime": "2018-09-19 17:29:52",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
},
{
'fs': 0,
"id": 18,
"name": "小程序接口审核",
"childrenIds": null,
"parentId": 2,
"orderNum": 5,
"url": "/applet/appletInterface/list",
"description": "小程序接口审核",
"createTime": "2018-09-19 17:30:22",
"modifyTime": "2018-09-19 17:30:22",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
}
]
},
{
'fs': 0,
"id": 3,
"name": "模板管理",
"childrenIds": "19,20",
"parentId": 0,
"orderNum": 3,
"url": "/template/message/list",
"description": "模板管理",
"createTime": "2018-09-19 17:20:14",
"modifyTime": "2018-09-19 17:20:14",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": [
{
'fs': 0,
"id": 19,
"name": "消息模板管理",
"childrenIds": null,
"parentId": 3,
"orderNum": 1,
"url": "/template/message/list",
"description": "消息模板管理",
"createTime": "2018-09-19 17:31:29",
"modifyTime": "2018-09-19 17:31:29",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
},
{
'fs': 0,
"id": 20,
"name": "订单模板管理",
"childrenIds": null,
"parentId": 3,
"orderNum": 2,
"url": "/template/order/list",
"description": "订单模板管理",
"createTime": "2018-09-19 17:32:01",
"modifyTime": "2018-09-19 17:32:01",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
}
]
},
{
'fs': 0,
"id": 4,
"name": "项目管理",
"childrenIds": "21,22,23",
"parentId": 0,
"orderNum": 4,
"url": "/projects/project/list",
"description": "项目管理",
"createTime": "2018-09-19 17:20:38",
"modifyTime": "2018-09-19 17:20:38",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": [
{
'fs': 0,
"id": 21,
"name": "项目列表",
"childrenIds": null,
"parentId": 4,
"orderNum": 1,
"url": "/projects/project/list",
"description": "项目列表",
"createTime": "2018-09-19 17:32:44",
"modifyTime": "2018-09-19 17:32:44",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
},
{
'fs': 0,
"id": 22,
"name": "项目应用管理",
"childrenIds": null,
"parentId": 4,
"orderNum": 2,
"url": "/projects/application/list",
"description": "项目应用管理",
"createTime": "2018-09-19 17:33:11",
"modifyTime": "2018-09-19 17:33:11",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
},
{
'fs': 0,
"id": 23,
"name": "项目版本管理",
"childrenIds": null,
"parentId": 4,
"orderNum": 3,
"url": "/projects/versions/list",
"description": "项目版本管理",
"createTime": "2018-09-19 17:33:32",
"modifyTime": "2018-09-19 17:33:32",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
}
]
},
{
'fs': 0,
"id": 5,
"name": "信息管理",
"childrenIds": "24",
"parentId": 0,
"orderNum": 5,
"url": "/information/announcement/list",
"description": "信息管理",
"createTime": "2018-09-19 17:20:47",
"modifyTime": "2018-09-19 17:20:47",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": [
{
'fs': 0,
"id": 24,
"name": "公告列表",
"childrenIds": null,
"parentId": 5,
"orderNum": 1,
"url": "/information/announcement/list",
"description": "公告列表",
"createTime": "2018-09-19 17:34:00",
"modifyTime": "2018-09-19 17:34:00",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
}
]
},
{
'fs': 0,
"id": 6,
"name": "用户管理",
"childrenIds": "25,26,27,28",
"parentId": 0,
"orderNum": 6,
"url": "/user/registerRecord/list",
"description": "用户管理",
"createTime": "2018-09-19 17:21:02",
"modifyTime": "2018-09-19 17:21:02",
"status": "ENABLE",
"mustUse": "NO",
"own": true,
"childrens": [
{
'fs': 0,
"id": 25,
"name": "用户注册记录",
"childrenIds": null,
"parentId": 6,
"orderNum": 1,
"url": "/user/registerRecord/list",
"description": "用户注册记录",
"createTime": "2018-09-19 17:34:26",
"modifyTime": "2018-09-19 17:34:26",
"status": "ENABLE",
"mustUse": "NO",
"own": true,
"childrens": null
},
{
'fs': 0,
"id": 26,
"name": "认证申请管理",
"childrenIds": null,
"parentId": 6,
"orderNum": 2,
"url": "/user/certificationApplication/list",
"description": "认证申请管理",
"createTime": "2018-09-19 17:34:41",
"modifyTime": "2018-09-19 17:34:41",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
},
{
'fs': 0,
"id": 27,
"name": "开发者认证管理",
"childrenIds": null,
"parentId": 6,
"orderNum": 3,
"url": "/user/developerCertification/list",
"description": "开发者认证管理",
"createTime": "2018-09-19 17:35:29",
"modifyTime": "2018-09-19 17:35:29",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
},
{
'fs': 0,
"id": 28,
"name": "登录日志",
"childrenIds": null,
"parentId": 6,
"orderNum": 4,
"url": "/user/loginLog/list",
"description": "登录日志",
"createTime": "2018-09-19 17:36:03",
"modifyTime": "2018-09-19 17:36:03",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
}
]
},
{ "id": 7,
"name": "终端管理",
"childrenIds": "29",
"parentId": 0,
"orderNum": 7,
"url": "/terminal/terminal/list",
"description": "终端管理",
"createTime": "2018-09-19 17:21:18",
"modifyTime": "2018-09-19 17:21:18",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": [
{
'fs': 0,
"id": 29,
"name": "终端管理",
"childrenIds": null,
"parentId": 7,
"orderNum": 1,
"url": "/terminal/terminal/list",
"description": "终端管理",
"createTime": "2018-09-19 17:36:34",
"modifyTime": "2018-09-19 17:36:34",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
}
]
},
{
'fs': 0,
"id": 8,
"name": "基础配置",
"childrenIds": "30",
"parentId": 0,
"orderNum": 8,
"url": "/basics/appAttribute/list",
"description": "基础配置",
"createTime": "2018-09-19 17:21:34",
"modifyTime": "2018-09-19 17:21:34",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": [
{
'fs': 0,
"id": 30,
"name": "应用属性管理",
"childrenIds": null,
"parentId": 8,
"orderNum": 1,
"url": "/basics/appAttribute/list",
"description": "应用属性管理",
"createTime": "2018-09-19 17:36:57",
"modifyTime": "2018-09-19 17:36:57",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
}
]
},
{
'fs': 0,
"id": 9,
"name": "系统管理",
"childrenIds": "31,32",
"parentId": 0,
"orderNum": 9,
"url": null,
"description": "系统管理",
"createTime": "2018-09-19 17:22:41",
"modifyTime": "2018-09-19 17:22:41",
"status": "ENABLE",
"mustUse": "YES",
"own": false,
"childrens": [
{
'fs': 0,
"id": 31,
"name": "角色管理",
"childrenIds": null,
"parentId": 9,
"orderNum": 1,
"url": null,
"description": "角色管理",
"createTime": "2018-09-19 17:40:02",
"modifyTime": "2018-09-19 17:40:02",
"status": "ENABLE",
"mustUse": "NO",
"own": false,
"childrens": null
},
{
'fs': 0,
"id": 32,
"name": "权限管理",
"childrenIds": null,
"parentId": 9,
"orderNum": 2,
"url": null,
"description": "权限管理",
"createTime": "2018-09-19 17:40:42",
"modifyTime": "2018-09-19 17:40:42",
"status": "ENABLE",
"mustUse": "NO",
"own": true,
"childrens": null
}
]
}
];
var tickMenuIdFilter = (function () {
var resultArr = new Array();
var getTickMenuId = function (obj) {
if (undefined == obj || null == obj || !obj instanceof Object) {
return;
}
if (obj.fs>0) {
console.log('obj',obj)
obj.disable=true
resultArr.push(obj.id);
}
if (null != obj.childrens && obj.childrens instanceof Array) {
for (let child of obj.childrens) {
getTickMenuId(child);
}
} } return {
filter: function (arr) {
if (!arr instanceof Array) {
return false;
}
resultArr = new Array();
for (let rootMenu of arr) {
getTickMenuId(rootMenu);
}
return resultArr;
}
}
})();
var b = tickMenuIdFilter.filter(a);
console.log("a", a);
console.log("b", b);
</script>
</body> </html>

js 遍历tree的一个例子(全遍历),更复杂的功能的更多相关文章

  1. js 遍历tree的一个例子(全遍历)

    全遍历 亲测真是有效. 工作中遇到的问题应该算是比较有价值的问题. <!DOCTYPE html> <html lang="en"> <head> ...

  2. js 遍历tree的一个例子

    小例子蕴含着到力量,我希望自己有改变自己生活的能力,自己有主宰自己命运的能力... 备注:这个例子有问题. <!DOCTYPE html> <html lang="en&q ...

  3. 【Node.js】4.从一个例子切入Node js的规范

    在开始之前,需要明确的一点就是, ①Node应用是由模块组成的,每一个文件都是一个模块,有自己的作用域. ②在这个文件里定义的变量,函数,类都是私有的,对其他的文件不可见. ③在一个文件中,也就是在一 ...

  4. 原生JS实现购物车全选多选按钮功能

    对于JS初学者来说,一个完整的购物车实现还是挺难的,逻辑功能挺多.写出完整功能,能提升不少JS基础,下面实现购物车全选多选按钮功能: 首先HTML及CSS部分: <style> table ...

  5. JS中for...in循环陷阱及遍历数组的方式对比

    JavaScript中有很多遍历数组的方式,比较常见的是for(var i=0;i<arr.length;i++){},以及for...in...循环等,这些遍历都有各自的优缺点,下面来看看各种 ...

  6. HDFS 读取、写入、遍历文件夹获取文件全路径、append

    版权声明:本文为博主原创文章,未经博主同意不得转载.安金龙 的博客. https://blog.csdn.net/smile0198/article/details/37573081 1.从HDFS中 ...

  7. 【Offer】[8] 【中序遍历的下一个结点】

    题目描述 思路分析 Java代码 代码链接 题目描述 给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点? 树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父结点的指针. ...

  8. PAT 1043 Is It a Binary Search Tree (25分) 由前序遍历得到二叉搜索树的后序遍历

    题目 A Binary Search Tree (BST) is recursively defined as a binary tree which has the following proper ...

  9. 【数据结构与算法Python版学习笔记】树——树的遍历 Tree Traversals

    遍历方式 前序遍历 在前序遍历中,先访问根节点,然后递归地前序遍历左子树,最后递归地前序遍历右子树. 中序遍历 在中序遍历中,先递归地中序遍历左子树,然后访问根节点,最后递归地中序遍历右子树. 后序遍 ...

随机推荐

  1. executeUpdate,executeQuery,executeBatch 的区别

    executeQuery : 用于实现单个结果集,例如: Select 一般使用executeQuery 就是来实现单个结果集的工具 executeUpdate 用于执行 INSERT.UPDATE ...

  2. struts2学习笔记(5)拦截器

    继承AbstractInterceptor类,在类中完成拦截器的功能,只需实现intercept方法即可,提供了init()和destroy()的空实现 示例:显示执行action所用的时间 ①在sr ...

  3. checked多选,取消,反选

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. C++面向对象类的实例题目一

    在一个程序中,实现如下要求: (1)构造函数重载 (2)成员函数设置默认参数 (3)有一个友元函数 (4)有一个静态函数 (5)使用不同的构造函数创建不同对象 code: #include<io ...

  5. java网络编程安全问题

    客户端与服务器互相传输时传输的数据的原内容会不会被人获取到? 在客户端与服务器之间有很多通信节点,数据在这些节点上传输前,可以先获取他们的安全证书,至于当心怕被修改可以用SSL加密(个人见解,这方面懂 ...

  6. bzoj1787 紧急集合

    传送门 题目 Input Output 分析 看到这个题不难想到倍增LCA,然后我们考虑如何计算.我们分别求出3个点中任意两点的LCA,为了走的步数最少所以肯定是先有两个点相遇然后另一个点走的它们相遇 ...

  7. 树莓派研究笔记(6)-- Lakka模拟游戏机

    我发现lakka的支持的游戏平台特别多,包括国产的OrangePI,真是太棒了.我们可以用这个来打造一个全功能模拟器平台.(删除线部分为Orange PI 测试成功内容,但在树莓派上无需那些操作) 访 ...

  8. 按位操作符(Bitwise operators)

    按位操作符(Bitwise operators) 将其操作数(operands)当作32位的比特序列(由0和1组成),而不是十进制.十六进制或八进制数值.例如,十进制数9,用二进制表示则为1001.按 ...

  9. Samy Kamka、吴石黑客信息

    Samy Kamka 10年前他就曾成功利用AJAX蠕虫攻击了当时最火的社交网站MySpace.com,2009年的Twitter蠕虫事件和2011年新浪微博蠕虫事件都沿袭了他当时的方法. 2005年 ...

  10. [译]如何在visual studio中调试Javascript

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...