2012-05-17 2 views
0

아래와 같이 일련의 분리 된 배열을 반복 할 수 있습니까?for-loop로 여러 배열을 편집 할 수 있습니까?

var test; 

var ratedItems0 = new Array(); 
var ratedItems1 = new Array(); 
var ratedItems2 = new Array(); 
var ratedItems3 = new Array(); 
var ratedItems4 = new Array(); 
var ratedItems5 = new Array();  

for(var i=0; i<6; i++) 
{ 
    test = 'test add num: '+ i 
    ["ratedItems"+(i+1)].push(test); 
} 

답변

0

저는 그렇게 믿습니다.하지만 왜 왜 그렇게하고 싶습니까?

//init 
var ratedItems = new Array(); 
for(var i=0; i<6; i++) 
{ 
    ratedItems.push(new Array()); // Edited 
} 

// access 
for(var i=0; i<6; i++) 
{ 
    ratedItems[i].push(test) 
} 
+0

이 경우 scond for 루프는 첫 번째 루프에서 새 Array()를 추가 한 각 지점의 데이터를 삭제하지 않으시겠습니까? 그것은 평가되어야할까요? 항목 []]. 푸시 (테스트)? –

+0

예, 코드를 변경했습니다. –

+0

굉장합니다. 나는 이것이 위대한 일을 할 것이라고 생각한다. 다른 사람들이 말하는 것은 아니지만 이것은 단지 가장 깨끗한 것처럼 보입니다. 감사! –

2

당신은 다차원 배열로 데이터를 구조 조정해야한다 : 당신이 어떤 이유로 그런 식으로 구조 조정을 할 수없는 경우, 당신은 window의 속성으로 각 요소를 참조 할,

var ratedItems = new Array(); 
ratedItems[0] = new Array(); 
... 

for(var i=0; i<ratedItems.length; i++) { 
    var test = 'test add num: '+ i; 
    ratedItems[i].push(test); 
} 

또는 :

for(var i=0; i<6; i++) { 
    var test = 'test add num: '+ i 
    window["ratedItems"+(i+1)].push(test); 
} 

모든 전역 변수는 window 객체의 멤버 변수이다.

0

는 하나의 객체에 모두 넣어 시도하거나 배열의 배열을 만들 : 그냥 배열의 배열을합니다.

var test; 

var bob = 
    { 
ratedItems0 : new Array(), 
ratedItems1 : new Array(), 
ratedItems2 : new Array(), 
ratedItems3 : new Array(), 
ratedItems4 : new Array(), 
ratedItems5 : new Array() 
}; 

for(var i=0; i<6; i++) 
{ 
    test = 'test add num: '+ i 
    bob ["ratedItems"+(i+1)].push(test); 
}​ 
+0

이것은 아주 좋습니다! 고맙습니다. 스플 라이스 (splice) 메서드는 객체에있을 때 단일 배열 에서처럼 작동합니까? –

+0

"bob"에서 객체에 할 수있는 모든 작업을 수행 할 수 있으며, 배열에 "bob []"할 수있는 모든 작업을 수행 할 수 있습니다. –

관련 문제