ツリー構造の子ノードは、パスに合わせて

1  / * 再帰的なマッチングメニューパス* / 
2          recursionMenu:関数(recursionField = ''、MENU = []){
 3              LET menuTree = {
 4                  タイトル: 'ホーム' 5。                  URL: '/ページ/索引' 6人の。                 子供: MENU
 7。             };
 8              _menuは[] =せ; // パスの配列
。9              LET = FindIT falseに ; // に一致
10が              ある、getPath =せ関数{(木)
 11。                 _menu.push({
 12                      タイトル:tree.title、
 13                      パス:tree.url
 14                  });
15                  であれば(tree.title === recursionField){
 16                      findItは= 17                      リターン;
18                  }
 19                  であれば(tree.children && tree.children.length> 0 ){
 20                      のための(I 0 =せ; I <tree.children.length; I ++ ){
 21                          ある、getPath(tree.children [I])。
22                          もし(findIt)リターン;
23                      }
 24                      _menu.pop()。
25                  } そう であれば(tree.children || tree.children.length === 0!){
 26                      _menu.pop()。
27                  }
 28              }。
29              ある、getPath(menuTree)。
30              リターン_menu。
31          }

 

おすすめ

転載: www.cnblogs.com/chenzeyongjsj/p/11888321.html