2014-06-10 2 views
-2

키 값 쌍이있는 많은 객체가 포함 된 배열이 있습니다. 이러한 개체를 유지하는 배열을 통해키의 각 고유 값에 대한 자바 스크립트

var item = { 
    'product_type' : product_type, 
    'product_id' : product_id, 
    'product_name' : product_name, 
}; 

내가 루프를 원하고, 각각의 고유 한 제품 _ 위해 내가 무언가를 출력에게 해당 제품 유형에 대한 몇 가지 래퍼 마크 업을하고 싶은 말 :

개체는이 같은 것을 볼 수 있었다 . 어떻게해야합니까?

product_type의 값은 고기, icecream 및 야채 일 수 있습니다. 따라서 고기에 대한 포장 div를 출력하고 싶습니다. 하나는 아이스크림 용이고 다른 하나는 채소 용이지만 각 유형별로 하나만 있으므로 두 개의 육류 제품이 있더라도 두 개의 육류 포장지가 없습니다.

+1

배열을 반복하고 새로운 객체에서 product_type을 키로 사용하십시오. 중복 된 키는 이전 키를 덮어 쓰고 고유 키를 가진 객체로 끝납니다. – adeneo

+0

[답변 수락 방법] (http://meta.stackexchange.com/q/5234) – Nano

답변

1

당신은 단순한 for() 루프를 찾고 있습니다.

귀하의 예를 들어 당신이 뭔가를 할 수 있습니다 :

var item = { 
    'product_type' : product_type, 
    'product_id' : product_id, 
    'product_name' : product_name, 
}; 
for(var key in item){ //each key in your object 
    if(key === 'product_type' && item[key] === 'icecream'){ 
    //The value of the product_type is icecream! 
    } 
} 

편집 :

이 같은 객체의 배열이있는 경우 : [{key:'value'}]을, 당신은 할 수 배열을 통해 당신이 알고있는 경우 루프 당신이 찾고있는 키는 다음과 같은 값에 접근 할 수 있습니다 :

for(var key in array){ //each key in your array 
    if(array[key]['product_type'] === 'icecream'){ 
    //The value of the product_type is icecream! 
    } 
} 
+0

고마워요. 비록 내가 확신 할 수는 없지만 ... 객체에는 이름이 없으며, 객체를 보유하고있는 배열에 인덱스가 있습니다. 어떻게하면됩니까? –

+0

@JohanDahl 정확히 동일하면 키 변수 – Nano

+0

에있는 인덱스를 찾을 수 있습니다.하지만이 루프는 product_type === icecream을 실행할 때마다 내 래퍼를 출력하지 않을 것입니까? 배열에 아이스크림 제품 유형이 4 개의 객체가 있더라도 아이스크림 용 래퍼 하나만 출력하고 싶습니다. –

관련 문제