我想為樹結構定義一個接口。每個節點可以有零個或多個子節點:export interface TreeNode { children?: Array<TreeNode>;}我已經為s實現了一個遍歷函數。TreeNodeexport function traverseTree(treeData: Array<TreeNode> | TreeNode, callback: (treeNode: any) => any) { // implementation omitted}我想測試它。代碼如下:const treeData = [ { name: "root_1", children: [ { name: "child_1", children: [ { name: "grandchild_1" }, { name: "grandchild_2" } ] } ] }, { name: "root_2", children: [] }];const traversingHistory = [];const callback = (treeNode: any) => { traversingHistory.push(treeNode.name);}traverseTree(treeData, callback);但是,編譯失敗,因為 類型的參數不能應用于 。treeDatatraverseTree我不想向接口添加屬性,因為樹節點可以具有動態屬性。如何修改接口以接受更通用的類型?nameTreeNodeTreeNode
樹結構的打字接口
幕布斯6054654
2022-08-04 16:54:53
