普通数据转换成树状数组
树状数组(最后一级children为 [ ] )
let arr = toTreeData(data);
function toTreeData(data) {
let resData = data;
let tree = [];
for (let i = 0; i < resData.length; i++) {
if (resData[i].level== 1) {
let obj = {
title:resData[i].title,
money:resData[i].money,
code: resData[i].code,
parentCode: resData[i].parentCode,
remark:resData[i].remark,
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].code== resData[j].parentCode) {
let obj = {
menuName:resData[j].subjectName,
money:resData[j].yearAmount,
code: resData[j].code,
parentCode: resData[j].parentCode,
remark:resData[j].remark,
children: []
};
chiArr[i].children.push(obj);
resData.splice(j, 1);
j--;
}
}
run(chiArr[i].children);
}
}
}
return tree;
}
树状数组(最后一级children不存在 )
let arr = toTreeData(data);
function toTreeData(data) {
let resData = data;
let tree = [];
for (let i = 0; i < resData.length; i++) {
if (resData[i].level == 1) {
let obj = {
name: resData[i].name,
code: resData[i].code,
parentCode: resData[i].parentCode
};
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++) {
let flag = false;
chiArr[i].children = [];
for (let j = 0; j < resData.length; j++) {
if (chiArr[i].code== resData[j].parentCode) {
flag = true;
let obj = {
name: resData[i].name,
code: resData[i].code,
parentCode: resData[i].parentCode
};
chiArr[i].children.push(obj);
resData.splice(j, 1);
j--;
}
}
if(!flag) delete chiArr[i].children;
if(chiArr[i].children) run(chiArr[i].children);
}
}
}
return tree;
}