2011-08-29 3 views
1

다른 객체에 포함 된 객체 내에 포함 된 값의 배열을 반복하려고합니다.jQuery를 사용하여 다른 객체 내에서 객체 내의 배열을 통해 루프를 수행 할 수 있습니까?

는 목적은 다음과 같습니다

var guitar = { 
    high4high5: { 
    name: 'high 4th, high 5th', 
    tuning: [ [5,4], [-2,3], [2,3], [7,3] ] 
    }, 
    high4low5: { 
    name: 'high 4th, low 5th', 
    tuning: [ [5,4], [-2,3], [2,3], [7,2] ] 
    } 
} 

나는 단지와 jQuery과 같이 각 루프 루프 유지할 수 있습니다 알고

$.each(guitar, function(key, value) { 
    console.log('1st loop: ' + key, value); 
    $.each(value, function(key, value) { 
    console.log('2nd : ' + key, value); 
    $.each(value, function(key, value) { 
     console.log('3rd : ' + key, value); 
    }); 
    }); 
}); 

그러나 분명히 또 다시 모든 통해 반복이를 위로 .

필요한 데이터는 각 개체의 '이름'(문자열)과 '튜닝'(배열)입니다.

나는 끝없는 루프가 아닌 원하는 것을 얻을 수있는 더 좋은 방법이 있다고 가정합니다!

아마도 주목해야 할 것은 객체 ('high4high5'등) 내부의 객체 이름을 알 수는 없지만이 객체 내의 값은 항상 name :(문자열)이고 튜닝 : (정렬).

는 편집 :

좋아, 내가 그것을 알아 냈다.

$.each(guitar, function(key, value) { 
    var tuningName = value.name; 
    var tuningArray = value.tuning; 
    console.log('name: ' + tuningName); 
    $.each(tuningArray, function(key,value) { 
    console.log(value); 
    }); 
}); 

피어!

+0

알아 낸 경우 질문으로 편집하지 말고 대답으로 게시해야합니다. 그런 방식으로 담당자를 얻을 수 있으며 사람들은 자신의 접근 방식이 더 좋다고 생각하면 다른 답변을 게시 할 가능성이 더 큽니다. – karim79

+0

감사합니다. Karim79. 그럴거야. –

답변

8

정말로 그렇지 않습니다 jQuery가 필요합니다. 당신은 좋은 구식 자바 스크립트로 작업을 수행 할 수 있습니다

for(g in guitar) { 
    console.log(guitar[g].name); 
    console.log(guitar[g].tuning); 
} 
+0

사실, 나는 진지하게 각 방법을 파헤칩니다! 매우 다목적. 고마워. –

+0

각자 자신에게. 나는 단지 당신이하고있는 일을 위해이 방법을보다 깨끗하게하지만 그 일이 최선이라면 무엇이든 할 수 있습니다. –

1

내가이 jQuery를 각 루프를 사용하여 내 자신의 질문에 대답하는 데 성공했다고 여기 말할 것이다. 확실히 더 자세한 방법입니다!

$.each(guitar, function(key, value) { 
    var tuningName = value.name; 
    var tuningArray = value.tuning; 
    console.log('name: ' + tuningName); 
    $.each(tuningArray, function(key,value) { 
    console.log(value); 
    }); 
}); 
+0

왜 일반 자바 스크립트 대신이 작업을 수행 하시겠습니까? –

+0

코리 (Corey)보다 더 나은 대답이라고 말할 수는 없지만 (분명히 아닙니다!), 저는 방금 걸어 다니는 것을 배우고 있습니다. –

+0

괜찮습니다. 나는 그것이 어떤면에서는 더 좋을 것이라고 생각했습니다. –

관련 문제