typescript递归遍历tree
时间: 2023-07-24 08:25:07 浏览: 43
以下是使用 TypeScript 递归遍历树的示例代码:
```typescript
interface TreeNode {
value: string;
children?: TreeNode[];
}
function traverseTree(node: TreeNode): void {
console.log(node.value);
if (node.children) {
node.children.forEach((child) => traverseTree(child));
}
}
// 示例使用
const tree: TreeNode = {
value: "A",
children: [
{
value: "B",
children: [
{
value: "D",
},
{
value: "E",
},
],
},
{
value: "C",
},
],
};
traverseTree(tree); // 输出: A B D E C
```
该示例中,我们定义了一个 `TreeNode` 接口,该接口描述了树节点的数据结构,包含一个 `value` 属性和一个可选的 `children` 属性(代表子节点)。
`traverseTree` 函数接收一个 `TreeNode` 参数,它打印当前节点的 `value` 属性,并且如果当前节点有子节点,就递归调用 `traverseTree` 函数来遍历子节点。
最后,我们创建一个示例树并调用 `traverseTree` 函数来遍历整棵树。输出结果为 `A B D E C`,表示树中的每个节点都被遍历到了。