2015-01-29 3 views
-2

나는 그림와 같이 중첩 된 배열을 가진 data.ent JSON을 보내? 내가 함께 시도했다 :으로 반복 내 백엔드에서

$.each(data.ent, function (index, value) { 
    console.log(value.modeloMarcaProducto); 
} 

그러나 undefined을 얻을, 나는 내가 여기에 뭔가를 놓친하지만라고 생각? 트위터를 반복하는 올바른 방법은 무엇입니까 data.ent? 어떤 도움이 필요합니까?

답변

1

재귀 할 것입니다. 그것이 당신이 가진 것이라면, 배열의 두 레벨을 모두 반복해야합니다. 최상위 배열과 각각의 중첩 배열을 반복해야하고 내부 반복은 내부 배열의 각 객체를 가져옵니다. 그러면 다음과 같이 속성을 참조 할 수 있습니다.

$.each(data.ent, function (index, value) { 
    $.each(value, function (i, v) { 
     console.log(v.modeloMarcaProducto); 
    } 
} 
0

콜백에서 value은 객체 배열입니다 (비록 하나의 객체 만 포함하는 하나의 배열을 포함하고있는 것처럼 보입니다). value[0][0]을 참조 할 수 있습니다.

$.each(data.ent, function (index, value) { 
console.log(value[0][0].modeloMarcaProducto); 
} 

또는, 당신은 당신이 배열의 각 요소는 자체 객체의 배열 인 배열이 마치

var vals = []; 
(function recurseKeyValue(obj, key){ 
for(all in obj) 
{ 
    if(all == key){ 
    console.log(obj[all]); 
    vals.push(obj[all]); 
    continue; 
    } 
    if(typeof obj[all] == "object" && obj[all]!= null){ 
     recurseKeyValue(obj[all], key); 
    } 
} 
})(data.ent,modeloMarcaProducto) 
+0

배열의 더 많은 항목이 될 수 있으므로 그림을 변경했습니다. 그래서 다른 방법으로 'value [0]'에 연결할 수 없습니까? '인덱스'? – ReynierPM

+0

@ReynierPM - data.ent 내부에 객체 배열의 배열이 있습니다. 따라서'each'를 사용하여 반복 할 때 객체 배열을 반복 할 것입니다. 이러한 객체 배열은 각각 하나의 객체만을 보유하고있는 것처럼 보입니다. –