2011-04-14 6 views
1

키없이 Javascript 객체의 값을 어떻게 참조 하시겠습니까?알 수없는 배열 키가있는 Javascript Array (JSON 형식)

var JSONdata= [ 
    {"index":"1","var1":1,"var2":2}, 
    {"index":"2","var1":3,"var2":2}, 
    {"index":"3","var1":3,"var2":1}, 
    {"index":"4","var1":2,"var2":1}, 
    {"index":"5","var1":1,"var2":3}, 
]; 

내가 루프에서 VAR1 및 VAR2의 값을 참조 할 말,하지만 이름 "VAR1"와 "VAR2"변화와 변수의 수는 변경 :

그래서 객체를 주어진 . JSONData[i]['var'+j];

+0

'index' 속성을 제외하고 각 객체의 다른 모든 속성을 포함 하시겠습니까? –

+0

당신은 당신의 가정에서 Russ입니다. 저는 플롯을 만들기 위해 데이터를 사용하고 있으며,'index' 변수가 제 x 축인 경우 다른 모든 변수를 반복하고 싶습니다. 아래 답변은 바로 나와 있습니다. – Ryan

답변

1
var JSONdata= [ 
    {"index":"1","var1":1,"var2":2}, 
    {"index":"2","var1":3,"var2":2}, 
    {"index":"3","var1":3,"var2":1}, 
    {"index":"4","var1":2,"var2":1}, 
    {"index":"5","var1":1,"var2":3} 
]; 

var fields=[ 
    "var1", 
    "var2" 
]; 

for(var i=0, ii=JSONdata.length; i<ii; i++){ 
    for(var j=0, jj=fields.length; j<jj; j++){ 
    $('#hello').html($('#hello').html()+' '+JSONdata[i][fields[j]]); 
    } 
    $('#hello').html($('#hello').html()+' '+'<br/>'); 
} 

참조 : - : 의사 코드에 따라서

당신은 사용하여 바르에 액세스 할 수 있습니다, 그래서

while (i < JSONdata.length) { 
    for (j = 1 to Num_variables) { 
     Give me the value for varN 
    next j 
    } 
i++ 
} 

덕분에

+0

완벽한 답변 Avrelian. 이것은 단지'var1'' var2' 등이 아닌 모든 변수 이름을 허용합니다. 감사합니다. jsbin.com 미리보기 도구를 정말 좋아합니다. – Ryan

1

자바 스크립트의 obj.propertyName 표기는 obj['propertyName']에 대한 문법 설탕입니다 거기에 http://jsbin.com/ufege4/edit

+0

고맙습니다 Jason. 나는 JSONdata [i] [j]'를 시도했지만 아무 것도 성공하지 못했지만 첫 번째 배열 객체 차원에 숫자 값을 사용하고 두 번째 차원에 문자열 값을 사용할 수 있다는 것을 알지 못했습니다. – Ryan