更复杂的功能
<!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的一个例子(全遍历),更复杂的功能
原文地址:https://www.cnblogs.com/DZzzz/p/10010553.html