jsは閉め切って木の形の配列を遍歴する方法を使います。


会社のプロジェクトをする時、1つの方法を書くことを要求して、方法のパラメーターは1つのメニューの配列の集合と1つのメニューのidで、メニューの配列のフォーマットは木の形のjsonで、下のようです:
[{"id":28,"text":"    ","children":[

     {"id":1,"text":" "},

     {"id":2,"text":" "},

     {"id":6,"text":" ","children":[

          {"id":47,"text":" "}]},

          {"id":11,"text":" ","children":[

                         {"id":24,"text":" "},

                         {"id":27,"text":" "}]},

          {"id":22,"text":" "},

          {"id":26,"text":" ","children":[

                         {"id":32,"text":" "},

                         {"id":33,"text":" "}}]

 }] }]

現在提供されているメニューIDは32であり、対応する項目を見つけて、対応するメニュー名を返す方法は、まず配列を巡回します。項目のidが指定のidに等しい場合、メニュー名を取り出します。等しくない場合は、現在の項目にチルドレンがあるかどうかを見ます。チルドレンが空でなく、数が0より大きい場合は、チルドレンを遍歴します。チルドレンを巡回する方法を匿名の方法において、このようにして常に匿名の方法で自身に再帰し、同じ名前のIDがあるとループが飛び出し、メインメソッドから得られたメニュー名を返します。コードは以下の通りです。