2012-04-16 4 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

FAQ : 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이 '배열의 구조를 제어 할 수 있다면, 객체 매개 변수를 "id"매개 변수를 키' – Alex