1. Convert tree data to array
const recursion = (arr, num) => {
arr.forEach((ele) => {
// 判断有子元素,并且子元素的长度大于0就再次调用自身
if (ele.children && ele.children.length > 0) {
// var node_root = ele.children.filter((item) => item.basicData == 3);
for (let k = 0; k < ele.children.length; k++) {
if (ele.children[k].basicData == 3) {
data.rootAllNode.push({
nodeId: ele.children[k].id,
context: ele.children[k].title,
parentId: ele.children[k].parentId,
basicData: ele.children[k].basicData,
checkArr: "1",
checked: "1",
disabled: true,
});
} else if (ele.children[k].basicData == 2) {
data.parentAllNode.push({
nodeId: ele.children[k].id,
context: ele.children[k].title,
parentId: 1,
basicData: ele.children[k].basicData,
checkArr: "1",
checked: "1",
disabled: true,
});
}
}
recursion(ele.children, num);
}
});
};
2. Array to tree data
const toTree = (data) => {
let result = [];
if (!Array.isArray(data)) {
return result;
}
data.forEach((item) => {
delete item.children;
});
let map = {};
data.forEach((item) => {
map[item.nodeId] = item;
});
data.forEach((item) => {
let parent = map[item.parentId];
if (parent) {
(parent.children || (parent.children = [])).push(item);
} else {
result.push(item);
}
});
return result;
};
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。