This commit is contained in:
2022-12-09 16:41:41 +08:00
parent c1cce5a7c2
commit ff7aa8774f
2003 changed files with 156639 additions and 140 deletions

View File

@@ -0,0 +1,34 @@
export function getNode(root: any, id: string) {
let resultNode = null;
findNode(root, id);
function findNode(root: any, id: string) {
if (!!root) {
let type = Object.prototype.toString.call(root);
if (type === "[object Object]") {
if (root.id && root.id === id) {
resultNode = root;
} else {
let node = root.children || null;
findNode(node, id);
}
} else if (type === "[object Array]") {
let needNode = root.find((i: any) => !!i === true && i.id === id);
if (!!needNode) {
resultNode = needNode;
} else {
if (root.length) {
root.forEach((item: any) => {
if (item && item.children) {
let node = item.children;
if (node && node.length) {
findNode(node, id);
}
}
});
}
}
}
}
}
return resultNode;
}