//树转化为数组
transformToArrayFormat: function (setting, nodes) {
if (!nodes) return [];
var childKey = setting.data.key.children,
r = [];
if (tools.isArray(nodes)) {
for (var i=0, l=nodes.length; i<l; i++) {
r.push(nodes[i]);
if (nodes[i][childKey])
r = r.concat(data.transformToArrayFormat(setting, nodes[i][childKey]));
}
} else {
r.push(nodes);
if (nodes[childKey])
r = r.concat(data.transformToArrayFormat(setting, nodes[childKey]));
}
return r;
},
//数组转化为树
transformTozTreeFormat: function(setting, sNodes) {
var i,l,
key = setting.data.simpleData.idKey,
parentKey = setting.data.simpleData.pIdKey,
childKey = setting.data.key.children;
if (!key || key=="" || !sNodes) return []; if (tools.isArray(sNodes)) {
var r = [];
var tmpMap = [];
for (i=0, l=sNodes.length; i<l; i++) {
tmpMap[sNodes[i][key]] = sNodes[i];
}
for (i=0, l=sNodes.length; i<l; i++) {
if (tmpMap[sNodes[i][parentKey]] && sNodes[i][key] != sNodes[i][parentKey]) {
if (!tmpMap[sNodes[i][parentKey]][childKey])
tmpMap[sNodes[i][parentKey]][childKey] = [];
tmpMap[sNodes[i][parentKey]][childKey].push(sNodes[i]);
} else {
r.push(sNodes[i]);
}
}
return r;
}else {
return [sNodes];
}
}

最新文章

  1. python 面向对象(进阶篇)
  2. python学习笔记 ——python写的猜数字游戏 002
  3. 【JS复习笔记】04 数组
  4. iOS使用静态变量
  5. 执行sh文件 进行MongoDB的业务逻辑导入
  6. 如何在IIS7上配置 FTP7并使用IIS管理凭据方式进行验证?
  7. Codeforces Round #185 (Div. 2) A. Whose sentence is it? 水题
  8. [GitPython]使用python管理你的git库
  9. “假如花千骨在杭州拍摄” 主题Cosplay
  10. 点击页面其它地方隐藏该div的两种思路
  11. Q promise API简单翻译
  12. C语言博客作业—字符数组
  13. 《Language Implementation Patterns》之 强类型规则
  14. 皮尔森相似度计算举例(R语言)
  15. Windows Server 2016-Powershell新建用户补充
  16. Python编程高级特性--迭代器
  17. Hive 系列(二)权限管理
  18. spring boot之org.springframework.boot.context.TypeExcludeFilter
  19. Rsyslog的三种传输协议简要介绍
  20. bootstrap系统学习

热门文章

  1. FFT&amp;NTT数学解释
  2. QTP中类的使用(转)
  3. [LeetCode] 627.交换性别
  4. SPI、IIC、IIS、UART、JTAG的应用场合级区别
  5. vue - blog开发学习5
  6. netbean out of memory java heap space
  7. 开源图标字体 uiw-iconfont v1.2.6 发布,新增图标
  8. shell 脚本学习(一)
  9. go语言从例子开始之Example29.关闭通道
  10. 力扣——3sum closest(最接近的三数之和)python 实现