2013-02-28 2 views
0

두 개의 배열을 동시에 루프하는 방법을 생각할 수 없습니다. 이 코드는 페이지의 다른 div에 함수의 데이터를 출력하기위한 것입니다. array1은 입력을 정의하고 array2은 출력을 정의합니다.루프 구조의 다중 배열

item1 항상 '#div1'와 결합 할 수 있도록하는 두 개의 배열을 통해 I 루프, '#div2'item2,

var array1=[item1 , item2, item3, item4]; 
var array2=['#div1', '#div2', '#div3', '#div4']; 

for (var i = 0; i < array1.length; i++) { 

    //code for to populate data goes here 

    item.appendTo($(array2[i])); 
}; 

이 있습니까 수 있습니다 어떻게 적어도 for 루프에서 제 기능을 포장에 맞습니까?

감사합니다.

+0

두 배열의 길이와 순서가 모두 같으므로 루프 변수 'i'를 사용하여 두 배열에 모두 액세스 할 수 있으므로, 'array1 [i]'와'array2 [i]'. –

+0

이 뜻입니까? 'for (var i = 0; i <3; i ++) {'모든 것을 첫 번째 배열의 마지막 항목으로 출력합니다. – user2062244

+0

아니요, for (var i = 0; i

답변

0
var array1=[item1 , item2, item3, item4]; 
var array2=['#div1', '#div2', '#div3', '#div4']; 

for (var i = 0; i < array1.length; i++) { 

    //code for to populate data goes here 

    $(array1[i]).appendTo(array2[i]); 

}; 
+0

이 섹션의'item.appendTo ($ (array2 [i])); '는 함수의 일부이므로'array2'의 div에'item'을 추가하려고합니다. – user2062244

+0

appendTo()를 사용하면 다음과 같이 append()를 사용하여 동일한 효과를 얻을 수 있습니다. $ (array2 [i]). append (array1 [i]); – DanC

+0

배열에 저장된 div에'item'을 출력하고 싶습니다. – user2062244

0

두 개의 배열을 한 번에 반복 할 수 있습니다. 보안을 위해 인덱스 변수 ('i')가 두 배열 길이 중 하나를 초과하지 않는지 확인하십시오.

var array1=[item1 , item2, item3, item4]; 
var array2=['#div1', '#div2', '#div3', '#div4']; 

var array3 = []; 
for (var i = 0; i < array1.length && i < array2.length; i++) { 
    array3.push({ 
     el1: array1[i], 
     el2: array2[i] 
    }); 
} 

for (var i = 0; i < array3.length; i++) { 
    // array3[i].el1; -- element from array1 
    // array3[i].el2; -- element from array2 
} 

당신은 물론, 하나 개의 루프에서이 작업을 수행 할 수 있습니다

다음은 예입니다. 여기서는 명확성을 위해 두 개를 사용했습니다 (두 번째는 기록 전용 임).

+0

아쉽게도 이것은 IE8을 지원해야하므로'Array.map'는 작동하지 않습니다. – user2062244

+0

IE8을 사용하지 않기로 선택하면 문제가 없습니다. 나는 초 안에 답을 갱신 할 것이다. – kamituel

+0

Ekhm, 나는 "map()"을 사용하지 않기로했다.) – kamituel

0

$()를 사용하면 jQuery 객체가 생성됩니다. 아마 array2 값에서 jQuery 객체를 만들고 싶을 것이다. for 루프를 사용하면 i 변수가 증가하고 배열 구성원에 액세스 할 때이 변수를 사용할 수 있습니다. 이 for 루프를 사용하는 두 배열의 동일한 인덱스가 잘 작동하기를 원한다.

var array1=[item1 , item2, item3, item4]; 
var array2=['#div1', '#div2', '#div3', '#div4']; 

for (var i = 0; i < array1.length; i++) { 
    $(array2[i]).append(array1[i]); 
}; 
+0

이 섹션의'item.appendTo ($ (array2 [i]); '는 함수의 일부이므로, 'item2'를'array2'에 div에 추가하려고합니다. – user2062244