树节点类型 Tree node type
子节点属性键名类型 Children property key name type
interface MyNode {
id: number;
name: string;
children?: MyNode[];
}
const tree: MyNode = {
id: 1,
name: 'root',
children: [
{ id: 2, name: 'child1' },
{ id: 3, name: 'child2', children: [{ id: 4, name: 'grandchild' }] }
]
};
dfs(tree, (node) => {
console.log(node.name);
// 返回false可中断遍历
// Return false to break traversal
// if (node.id === 3) return false;
}, 'children');
深度优先遍历树结构 Depth-first traversal of tree structure