/*
* 将json字符串更改为layui.tree所用的数据结构类型,输出仍然为json字符串
* tanghao 7.29
*/ function dataToTreeData(oData_str) { //将传递进来的json字符串转换成js对象
var oData = JSON.parse(oData_str); //----------操作节点(父节点)元素获取---------- //获取原始数据中操作要求的名称,去除重复,将其保存至目标数组
var operationIdArr = new Array(); for(i in oData) {
//使用e来记录比较的情况
var e = 0;
//将本次原始数据中的元素与目标数组中的所有元素比较,只要出现相等的情况就改变e的值
for ( j in operationIdArr) {
if (oData[i].operationId == operationIdArr[j]) {
e++;
}
}
//如果e的值没有发生改变就说明没有相同的元素,那么执行插入操作
if( e == 0) {
operationIdArr.push(oData[i].operationId);
}
} //遍历操作节点数组
/* for(i in operationIdArr) {
console.log("父节点数组中的元素为" + operationIdArr[i]);
}*/ //----------操作节点元素获取结束---------- //两个节点的数据形式
var operationNodeArr = []; function operationNode(id, name, children) {
this.id = id;
this.name = name;
this.children = children;
} function fileNode(id, name, path, operationId) {
this.id = id;
this.name = name;
this.path = path;
this.operationId = operationId;
} //创建节点
for(i in operationIdArr) {
var operationId = operationIdArr[i];
var operationName;
var fileNodeArr = [];
for(j in oData) {
if ( operationId == oData[j].operationId) {
//如果操作节点id相同,添加数据到文件节点
fileNodeArr.push(new fileNode(oData[j].id, oData[j].name, oData[j].path, oData[j].operationId));
operationName = oData[j].operationName;
}
}
//添加数据到操作节点
operationNodeArr.push(new operationNode(operationId, operationName, fileNodeArr));
} //返回json字符串
return JSON.stringify(operationNodeArr);
}

layui树形结构更改的更多相关文章

  1. Delphi中根据分类数据生成树形结构的最优方法

    一. 引言:    TreeView控件适合于表示具有多层次关系的数据.它以简洁的界面,表现形式清晰.形象,操作简单而深受用户喜爱.而且用它可以实现ListView.ListBox所无法实现的很多功能 ...

  2. 012-数据结构-树形结构-哈希树[hashtree]、字典树[trietree]、后缀树

    一.哈希树概述 1.1..其他树背景 二叉排序树,平衡二叉树,红黑树等二叉排序树.在大数据量时树高很深,我们不断向下找寻值时会比较很多次.二叉排序树自身是有顺序结构的,每个结点除最小结点和最大结点外都 ...

  3. js文章列表的树形结构输出

    文章表设计成这样了 后端直接给了无任何处理的json数据,现在要前端实现树形结构的输出,其实后端处理更简单写,不过既然来了就码出来 var doclist = [{ "id": 1 ...

  4. GridView 树形结构分组的功能

    在“会飞的鱼”博客中看到GridView实现树形结构的代码,经过修改,添加了树形结构中的复选框功能,欢迎吐槽. 源地址:http://www.cnblogs.com/chhuic/archive/20 ...

  5. [从产品角度学EXCEL 02]-EXCEL里的树形结构

    这是<从产品角度学EXCEL>系列第三篇. 前言请看: 0 为什么要关注EXCEL的本质 1 excel是怎样运作的 或者你可以去微信公众号@尾巴说数 获得连载目录. 本文仅由尾巴本人发布 ...

  6. C# EasyUI树形结构权限管理模块

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 本节和大家探讨下C#使用EasyUI树形结构/Tree构 ...

  7. YbSoftwareFactory 代码生成插件【十八】:树形结构下的查询排序的数据库设计

    树形结构的排序在中国特色下十分普遍也非常重要,例如常说的五大班子,党委>人大>政府>政协>纪委,每个班子下还有部门,岗位,人员,最终排列的顺序通常需要按权力大小.重要性等进行排 ...

  8. Java创建树形结构算法实例

    在JavaWeb的相关开发中经常会涉及到多级菜单的展示,为了方便菜单的管理需要使用数据库进行支持,本例采用相关算法讲数据库中的条形记录进行相关组装和排序讲菜单组装成树形结构. 首先是需要的JavaBe ...

  9. Atitit 常见的树形结构 红黑树  二叉树   B树 B+树  Trie树 attilax理解与总结

    Atitit 常见的树形结构 红黑树  二叉树   B树 B+树  Trie树 attilax理解与总结 1.1. 树形结构-- 一对多的关系1 1.2. 树的相关术语: 1 1.3. 常见的树形结构 ...

随机推荐

  1. hyper-v安装ubuntu18的全过程+踩过的坑(win10家庭版)

    一.背景介绍(作者的闲言闲语,可跳过) 最近新购入小米笔记本pro15增强版,想在笔记本上装ubuntu18的系统. 最开始尝试了双系统的方法,但是安装完之后不能wifi上网,显卡MX250不能适配, ...

  2. opencv —— moments 矩的计算(空间矩/几何矩、中心距、归一化中心距、Hu矩)

    计算矩的目的 从一幅图像计算出来的矩集,不仅可以描述图像形状的全局特征,而且可以提供大量关于该图像不同的几何特征信息,如大小,位置.方向和形状等.这种描述能力广泛应用于各种图像处理.计算机视觉和机器人 ...

  3. Appium超详细环境搭建for Mac

      兜兜转转试用了一圈自动化框架后,回归到appium,与一年之前相比,appium有了很大的改变:1.iOS 9 之前一直以 instruments 下的 UIAutomation为驱动底层技术(弊 ...

  4. JavaScript的语法、数据类型、基本算数和逻辑运算操作

    str.toString() 可以把字符串.数值.布尔值.对象转为字符串 String(str) 任何数值强制转换为字符串类型 <!DOCTYPE html> <html lang= ...

  5. 剑指offer-面试题38-字符串的排列-全排列

    /* 题目: 输入字符串,打印字符串的所有排列. 输入acc,输出[acc, cac, cca]. */ /* 思路: 将字符串看作两部分,第一个字符串和后面的部分. 将第一个字符串与后面字符串依次交 ...

  6. [PKUWC2018]Minimax [dp,线段树合并]

    好妙的一个题- 我们设 \(f_{i,j}\) 为 \(i\) 节点出现 \(j\) 的概率 设 \(l = ch[i][0] , r = ch[i][1]\) 即左儿子右儿子 设 \(m\) 为叶子 ...

  7. linux查看硬件、系统信息

    查看机器型号等 dmidecode 是一个读取电脑 DMI(桌面管理接口(Desktop Management Interface))表内容并且以人类可读的格式显示系统硬件信息的工具.这个表包含系统硬 ...

  8. Jquery实现挂号平台首页源码2

    第二个版本:点击预约挂号可跳转到排班表,获取之后7个星期的排班 先放图 首先是index.html <!DOCTYPE html> <html lang="en" ...

  9. 复习node中加载静态资源--用express+esj

    不做解释,代码一看就懂 app.js import express from 'express' import config from './config' const app = express() ...

  10. win下的终端使用指南

    win下的终端使用指南 win 下的命令行工具是真的难用 . 具体的难用就不形容了 . 有了 PowerShell 也没觉得好用 . 还是喜欢Linux的终端,及Bash命令. 替换方案 比较好的替换 ...