/*转化函数*/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);
js把json数据转化成树形数据
原文地址:https://www.cnblogs.com/wangyunhui/p/8981785.html