2012-03-07 9 views
0
Soccer 
    Australia 
    Melbourne 
    Sydney 
    New Zealand 
    Christchurch 
Tennis 
    United Kingdom 
    Kensington 
    London 
    Manchester 

私は多次元配列を試しましたが、長さが異なるために厄介になりました。私もキー/値のペアを試してみましたが、やはり値とキーだけが存在するため、やりにくくなりました。私は視覚的に階層を表現しようとしました。シドニーを明確にすることはオーストラリアの子供です。オーストラリアはサッカーの子です。サッカーはテニスなどの兄弟です。JavaScriptで次のメニュー構造を表現するにはどうすればよいですか?

編集:私は実際のデータの知識を必要としないソリューションを探しています。言い換えれば、私は "Soccer"を "Baseball"に置き換えることができ、データ構造を印刷する単純なアルゴリズムは壊れてはいけません。 JSONで

答えて

4

for (sport in data) { 
    // print sport here 
    countries = data[sport];  
    for (country in countries) { 
     // print country here 
     cities = countries[country]; 
     for (var i = 0; i < cities.length; i++) { 
      // print city here 
     }; 
    }; 
};​ 

がここjsFiddle上で見ることができます::http://jsfiddle.net/2p6g3/18/

+0

私は元の質問に小さな修正を加えました。 JSONはまだ追加要件を満たしていますか?ありがとう – Hoa

+0

すべきである。ループしてデータを印刷する単純なコードを追加したいのですか? – Jivings

+0

もしあなたがそれが大いに評価されることができたら、 – Hoa

0
{ 
"sport": [ 
    { 
     "name": "Soccer", 
     "place": [ 
      { 
       "country": "Australia", 
       "city": [ 
        { 
         "name": "Melbourne" 
        }, 
        { 
         "nam": "Sdney" 
        } 
       ] 
      }, 
      { 
       "country": "NewZealand", 
       "city": [ 
        { 
         "name": "Christchurch" 
        } 
       ] 
      } 
     ] 
    }, 
    { 
     "name": "Tennis", 
     "place": [ 
      { 
       "country": "UnitedKingdom", 
       "city": [ 
        { 
         "name": "Manchester" 
        } 
       ] 
      } 
     ] 
    } 
] 

}

ループを通るここ

{ 
    "Soccer": { 
     "Australia": [ 
      "Melbourne", 
      "Sydney" 
     ], 
     "NewZealand": [ 
      "Christchurch" 
     ] 
    }, 
    "Tennis": { 
     "UnitedKingdom": [ 
      "Kensington", 
      "London", 
      "Manchester" 
     ] 
    } 
} 

は、データをループですアール必要なフィールドを取得するオブジェクトの種類:

sport[].name // name of the sports 
sport[].place[].country // country name 
sport[].place[].city[].name // city name 
+0

これはあまり正確なデータ表現ではありません。 – Jivings

関連する問題