在TypeScript中编写递归函数来获取树结构中的顶层父级,你可以按照以下步骤进行:
interface TreeNode {
id: string;
parentId: string | null;
}
function getTopLevelParent(tree: TreeNode[], nodeId: string): string | null {
// 递归实现获取顶层父级节点的逻辑
}
下面是完整的实现代码示例:
interface TreeNode {
id: string;
parentId: string | null;
}
function getTopLevelParent(tree: TreeNode[], nodeId: string): string | null {
const currentNode = tree.find(node => node.id === nodeId);
if (currentNode) {
if (currentNode.parentId === null) {
return currentNode.id;
} else {
return getTopLevelParent(tree, currentNode.parentId);
}
}
return null; // 没有找到匹配的节点,返回null
}
这个函数的使用方法是将完整的树结构数组和要查询的节点id作为参数传入,即可获取到顶层父级节点的id。
该递归函数的时间复杂度为O(n),其中n是树结构数组的长度。
领取专属 10元无门槛券
手把手带您无忧上云