/*转化函数*/
function(data, attributes) {
let resData = data;
let tree = [];
for(let i = 0; i < resData.length; i++) {
if(resData[i][attributes.parentId] === attributes.rootId) {
let obj = {
id: resData[i][attributes.id],
title: resData[i][attributes.name],
children: []
};
tree.push(obj);
resData.splice(i, 1);
i--;
}
}
run(tree); function run(chiArr) {
if(resData.length !== 0) {
for(let i = 0; i < chiArr.length; i++) {
for(let j = 0; j < resData.length; j++) {
if(chiArr[i].id == resData[j][attributes.parentId]) {
let obj = {
id: resData[j][attributes.id],
title: resData[j][attributes.name],
children: []
};
chiArr[i].children.push(obj);
resData.splice(j, 1);
j--;
}
}
run(chiArr[i].children);
}
}
} return tree; }
var data=[{id:1,parentId:0,name:"测试1"},
{id:2,parentId:1,name:"测试2"}]

let attributes = { //定义数据属性名称
id: 'id',
parentId: 'parentId',
name: 'groupName',
rootId: 0
}
/*调用*/
formatTreeData(data,attributes);

  

  

最新文章

  1. 10Spring高级----青软S2SH(笔记)
  2. string与int互换
  3. 快速理解几种常用的RAID磁盘阵列级别
  4. (Python)导出指定文件夹中as文件的完全限定类名
  5. web安全测试工具的局限性
  6. 【新产品发布】EVC9001 USB 隔离器
  7. (实用篇)PHP实现队列及队列原理
  8. coreseek(sphinx)安装1(xml数据源配置和测试)
  9. AX 条码打印
  10. Linux下tail命令
  11. codevs 1421 秋静叶&amp;秋穣子(树上DP+博弈)
  12. rest_framework的视图组件继承过哪些类?
  13. Effective Java 第三版——59. 熟悉并使用Java类库
  14. Python import语句导入模块语法[转]
  15. delphi “div”、“mod”、“\”除法运算符的区别与使用方法(附带FORMAT使用方法)
  16. tomcat配置文件context.xml和server.xml分析
  17. python for dl
  18. debian系统下安装ssh
  19. gulp4小demo
  20. laravel 实用扩展包

热门文章

  1. ZeroMQ API(三) 消息
  2. Java并发编程原理与实战十九:AQS 剖析
  3. 【CodeForces】961 G. Partitions 斯特林数
  4. 2016-2017-20155329 《Java程序设计》第7周学习总结
  5. 【leetcode 简单】 第六十一题 存在重复元素
  6. 虚拟环境pipenv的使用
  7. Python生成器-博文读后感
  8. 一种获取xml文件某个节点内容的shell方法
  9. Python 常用的内建函数
  10. Python匿名函数详解