123456789101112131415161718192021222324252627282930 |
- function isExist(list, child) {
- let flag = true;
- list.forEach((item) => {
- if (item.id === child.id) {
- flag = false;
- }
- });
- return flag;
- }
- export function listToTree(oldArr) {
- oldArr.forEach((element) => {
- let parent = element.parent;
- if (parent !== null) {
- oldArr.forEach((ele) => {
- if (ele.id === parent) {
- //当内层循环的ID== 外层循环的parendId时,(说明有children),需要往该内层id里建个children并push对应的数组;
- if (!ele.children) {
- ele.children = [];
- }
- if (isExist(ele.children, element)) {
- ele.children.push(element);
- }
- }
- });
- }
- });
- oldArr = oldArr.filter((ele) => ele.parent === null); //这一步是过滤,按树展开,将多余的数组剔除;
- return oldArr;
- }
|