2012-04-16 6 views
-1

私は以下のように3つの配列を持っています。私は配列を制御できません。ここ複数のJSONアレイを比較する

groups_array = [ { 
    "group" : "Mobile Test Region", 
    "id" : "251" 
}, { 
    "group" : "Mobile Demo Region", 
    "id" : "252" 
} ] 
locations_array = [ { 
    "location" : "M Testing", 
    "id" : "1376" 
}, { 
    "location" : "Trade Show Machine", 
    "id" : "1403" 
}, { 
    "location" : "M Trailer", 
    "id" : "1471" 
}, { 
    "location" : "Test Los Angeles", 
    "id" : "1475" 
} ] 
pairs_array = [ { 
    "location_id" : "1376", 
    "group_id" : "251" 
}, { 
    "location_id" : "1475", 
    "group_id" : "251" 
}, { 
    "location_id" : "1403", 
    "group_id" : "252" 
}, { 
    "location_id" : "1471", 
    "group_id" : "252" 
} ] 

私はpairs_arrayをループに使用されるグループIDに対応するlocation_idの年代を取得するコードです。 Ti.API.info(pairs_array [s] .location_id); e.rowData.groupidを使用して与えられたgroupidに基づいて2つのロケーションIDを出力します。

for (var s = 0; s < pairs_array.length; s++) { 
    if (e.rowData.groupid === pairs_array[s].group_id) { 
     Ti.API.info(pairs_array[s].location_id); 
    } 
} 

IF文から取得したlocation_idの値を使用して文字列を比較し、位置名を取得しようとしています。結果を配列にプッシュし、location_arrayと結果をループして比較するだけですか?もしそうなら、私は予想された出力を得ていないことを試して何回か、それのための良いコードスニペットを見たいと思います。

+1

興味深い。あなたの質問は何ですか? – Hamish

+0

あなたの質問は何ですか?これまでに何を試しましたか? ([FAQ](http://stackoverflow.com/faq#howtoask)をお読みください) –

+0

よくある質問:http://stackoverflow.com/faqを読んでください。あなたが「問題を抱えている」と言っても、あなたの問題を解決することはできません。 – Hamish

答えて

0
for (var s = 0; s < pairs_array.length; s++) { 
    if (e.rowData.groupid === pairs_array[s].group_id) { 
     Ti.API.info(pairs_array[s].location_id); 

     // find location name 
     for(var t = 0; t < locations_array.length; t++) 
     { 
      if(locations_array[t].id == pairs_array[s].location_id) 
      { 
       location_name = locations_array[t].location;       
      } 
     } 
    } 
} 
+0

それは、ありがとう、それをしました。私は複数のfor/if文を実行する際に変数の継承が心配だったと思います。私はまだノブです。私と一緒に出かけることに感謝します。 –

+0

こんにちはクリス。理想的には、@ zetlenが「配列の構造を制御できたら、それらをオブジェクトのハッシュにすることを考えてみましょう。 – Alex