CONSTデータ= [{ ID: 1 、 子供:[{ ID: 2 、 子供:[{ ID: 3 、 }、{ ID: 4 、 }] }] }、{ ID: 5 、 子供:[{ ID : 6 、 }] }]。 ノードを聞かせ = []; 関数getParentNodes(ID、ツリー){ _getParentNodes([]、ID、木) リターン・ノード; } 機能_getParentNodes(HIS、するtargetId、ツリー){ tree.some((リスト) => { CONST子供 = list.children || []; もし(list.id === するtargetId){ ノード = 彼; 返す 真; } そう もし(children.length> 0 ){ CONST履歴 = [...彼]; history.push(リスト); 戻り_getParentNodesを(履歴、するtargetId、子供); } }) }
ID指定されたノードツリーを検索するには非常に簡単です。あなたのアイデアは、各オーダーの深さを横断する場合の変更を指定したすべての親ノードを検索したい場合は、指定した時間のノードID、このレコードの出力を見つけるまで、記録されています。
それだけで過去に前のレコードのパスをすることができ、各反復中に必要です。