node.js 功能点树形结构操作
来源:互联网 发布:php admin value 编辑:程序博客网 时间:2024/04/29 13:11
node.js 生成递归的树形结构
function treeNode(id, pid, text, children) { this.id = id; this.pid = pid; this.text = text; this.children = children;}//测试数据var data = [{ 'id': 1, 'pid': 0, 'text': '主节点' }, { 'id': 2, 'pid': 1, 'text': '分1' }, { 'id': 3, 'pid': 0, 'text': '主2' }, { 'id': 4, 'pid': 3, 'text': 211 }];function getTreeFunction(data, pid) { var treelist = []; for (var i = 0; i < data.length; i++) { if (data[i].pid == pid) { var tree = new treeNode(data[i].id, data[i].pid, data[i].text, getTreeFunction(data, data[i].id)); treelist.push(tree) } } return treelist;}//exports.getTreeFunction = getTreeFunction;var tree = getTreeFunction(data, 0);console.log(tree[0].children)
递归禁用子节点
var treeFuncID = [];//删除功能点exports.delete = function (data, callback) { data.IsActive = 1; treeFuncID.length = 0; treeFuncID.push({ 'FunctionID': data.FunctionID }); functionDAL.queryAllFunctions(data, function (err, results) { if (err) { return callback(true, results); } //根据FunctionID判断该功能点是否存在 if (results != undefined && results.length > 0) { var querydata = { 'ApplicationID': results[0].ApplicationID } //此方法用于从数据库取出当前应用的所有功能点数据 functionDAL.queryAllFunctions(querydata, function (err, results) { //得到子节点的所有functionid function getMultiTreeID(FunctionID) { var querydata = { 'ParentID': FunctionID, 'IsActive': 1 } var data = []; for (var j in results) { if (results[j].ParentID == FunctionID) { data.push({ 'FunctionID': results[j].FunctionID }); } } if (data != undefined && data.length > 0) { for (var i in data) { getMultiTreeID(data[i].FunctionID); treeFuncID.push({ 'FunctionID': data[i].FunctionID }); } } }//DFS查找功能点数据,将其push到treeFunctID数组中 getMultiTreeID(data.FunctionID);//同步 //禁用功能点 functionDAL.delete(treeFuncID, function (err, results) { if (err) { return callback(true, results); } return callback(false, results); }); }); } else { return callback(true, '该功能点已被禁用') } });};
其中functionDAL.queryAllFunctions();用于得到数据库数据
1 0
- node.js 功能点树形结构操作
- js树形结构
- js实现树形结构
- js的 树形结构
- node.js 小功能
- js动态生成树形结构
- js 树形结构数据 处理
- js实现树形结构实例
- js笔记2-树形结构
- 【079】利用“剪叶子”算法实现树形结构的搜索功能,用Vue.js实现
- js node 操作
- js node 操作
- js操作node节点
- node.js 文件操作
- node.js 文件操作
- node.js 操作Cookies
- node.js 文件操作
- node.js 文件操作
- nginx+keepalived主辅切换
- CodeForces 663E - Binary Table FWT
- vs2015源文件创建代码自动版权声明注释
- 使用bat命令得到文件名列表
- HBase入门-存储
- node.js 功能点树形结构操作
- eclipse怎样配置hibernate和反向生成实体类(mysql数据库)
- x264 for Android 的编译
- 利用 MSDaRT 轻松解决 windows7 系统问题
- reactjs 选项卡 初学
- css sprite网页图片处理之小图标切换
- Spring Boot中使用freeMarker生成word文档
- 网页中用回车键切换input焦点换行
- HBase入门-压力失效与失效转发