会社のプロジェクトを実行する場合、メソッドのパラメータは、以下に示すように、ツリー JSON です。 🎜>
{"id":1,"text":"企業文化"},
{"id":2,"text":"採用計画"},
{"id":6,"text":"会社ニュース","子供たち":[
{"id":47,"text":"業界ニュース"}]},
{"id":11,"text":"社内ニュース","子供たち":[
{"id":24,"text":"管理情報"},
{"id":27、 "text": "high-level命令"}]}、
{"id":22,"text":"お問い合わせ"},
{"id":26,"text":"商品の表示","子供":[
{"id":32、 "text": "電気製品"}、
{"id":33,"text":"アクセサリー紹介"}}]
}] }]
現在指定されているメニュー ID は 32 です。対応する項目を見つけて、対応するメニュー名を返す必要があります。このメソッドは、項目の ID が指定された ID と等しい場合に、最初に配列をループします。に等しくない場合は、現在の項目に子があるかどうかを確認します。子が空ではなく、数値が 0 より大きい場合は、この時点で子をトラバースする必要があります。 javascript を使用して、子を走査するメソッドを匿名メソッドに置き、再帰自体が常に匿名メソッド内にあるように、同じ名前の ID が見つかった場合はループから抜け出し、取得したメニュー名を返します。 main メソッドからのコードは次のとおりです:
var name = "" ;
for (var i = 0; i if (menus[i].id == id ) {
name = menu[i].text;
Break;
}
else {
(function (function ( ) {
var m = argument[0];
var menuid = arguments [1];
for(var j = 0; j< m.length; j){
if(m [j] .id == menuid){
。 Children.length > 0) {
argument.callee(m[j].children, val); // 再帰的匿名メソッド
. }
名前を返します;
}