zoukankan      html  css  js  c++  java
  • layui树形结构更改

     1 /* 
     2 * 将json字符串更改为layui.tree所用的数据结构类型,输出仍然为json字符串
     3 * tanghao 7.29
     4 */
     5 
     6 function dataToTreeData(oData_str) {
     7 
     8 //将传递进来的json字符串转换成js对象
     9 var oData = JSON.parse(oData_str);
    10 
    11 //----------操作节点(父节点)元素获取----------
    12 
    13 //获取原始数据中操作要求的名称,去除重复,将其保存至目标数组
    14 var operationIdArr = new Array();
    15 
    16 for(i in oData) {
    17 //使用e来记录比较的情况
    18 var e = 0;
    19 //将本次原始数据中的元素与目标数组中的所有元素比较,只要出现相等的情况就改变e的值
    20 for ( j in operationIdArr) {
    21 if (oData[i].operationId == operationIdArr[j]) {
    22 e++;
    23 }
    24 }
    25 //如果e的值没有发生改变就说明没有相同的元素,那么执行插入操作
    26 if( e == 0) {
    27 operationIdArr.push(oData[i].operationId);
    28 }
    29 }
    30 
    31 //遍历操作节点数组
    32 /* for(i in operationIdArr) {
    33 console.log("父节点数组中的元素为" + operationIdArr[i]);
    34 }*/
    35 
    36 //----------操作节点元素获取结束----------
    37 
    38 //两个节点的数据形式
    39 var operationNodeArr = [];
    40 
    41 function operationNode(id, name, children) {
    42 this.id = id;
    43 this.name = name;
    44 this.children = children;
    45 }
    46 
    47 function fileNode(id, name, path, operationId) {
    48 this.id = id;
    49 this.name = name;
    50 this.path = path;
    51 this.operationId = operationId;
    52 }
    53 
    54 //创建节点
    55 for(i in operationIdArr) { 
    56 var operationId = operationIdArr[i];
    57 var operationName;
    58 var fileNodeArr = [];
    59 for(j in oData) {
    60 if ( operationId == oData[j].operationId) {
    61 //如果操作节点id相同,添加数据到文件节点
    62 fileNodeArr.push(new fileNode(oData[j].id, oData[j].name, oData[j].path, oData[j].operationId)); 
    63 operationName = oData[j].operationName;
    64 }
    65 }
    66 //添加数据到操作节点
    67 operationNodeArr.push(new operationNode(operationId, operationName, fileNodeArr));
    68 }
    69 
    70 //返回json字符串
    71 return JSON.stringify(operationNodeArr);
    72 }
  • 相关阅读:
    20171130-构建之法:现代软件工程-阅读笔记
    软件工程课程总结
    团队编程项目作业6-程序维护
    团队-象棋游戏-项目总结
    20171117-构建之法:现代软件工程-阅读笔记
    团队-象棋游戏-团队一阶段互评
    课后作业-阅读任务-阅读笔记-1
    课后作业-阅读任务-阅读提问-1
    课后作业-阅读任务-阅读提问-2
    阿里云部署node坑
  • 原文地址:https://www.cnblogs.com/qintang/p/10686752.html
Copyright © 2011-2022 走看看