2015-01-30 4 views
1

동적으로 생성 된 숫자 값 배열에서 순차 값을 가져오고 그 순차 값을 쌍으로 순서대로 추가하려고합니다. 생성 된 배열은 항상 짝수 개의 값을가집니다. 예를 들어,의 배열이jQuery 배열 반복

myArray = [2, 23, 45, 128, 92, 3]. 

어떻게 jQuery를 생성 된 배열을 반복하고 같은 값을 얻을 수 있습니다에 나오는 가정 해 봅시다?

val1 = myArray[0] + myArray[1]; 
val2 = myArray[2] + myArray[3]; 
val3 = myArray[4] + myArray[5]; 

배열

은 동적으로 생성되고, 증가 또는 감소시킬 수 항목들의리스트로서, I는 기존의 키/값을 하드 코딩하지 않는다. 순차적 쌍의 미래의 덧셈이나 뺄셈을 고려한 공식을 찾아야합니다.

도움이 될 것입니다.

답변

0

내가 이런 식으로 할 것,

var newArry = [], tmp, myArray = [1,2,3,4,5]; 
myArray.forEach(function(v,i){ 
    if(i%2>0){ 
     newArry.push(tmp+v); 
    } 
    tmp = v; 
}); 

console.log(newArry); 
+0

답변 해 주셔서 감사합니다. 그것은 확실히 크롬에서 일했지만, forEach 메소드가 IE8 이하에서 제대로 실행되지 않는다고 생각합니다. for 루프 또는 $ .each() 메서드를 사용하여 성공하지 않고 메서드를 반복하려고합니다. 어떤 아이디어? – user933101

+0

foreach는 (v, i), $입니다. 각각 (i, v)입니다. – mido

+0

Merci beaucoup! 큰 도움. – user933101

0

jQuery의 각 (...) 함수를 사용하면 마법을 수행 할 수 있습니다.

var val = 0; 

var myArray = [2, 23, 45, 128, 92, 3]; 


$.each(myArray, function(index, value) { 

    val = (index % 2 === 0)? value : val + value; 

    if (index % 2 !== 0) 
    console.log(val); 

}); 

당신은 짝수/홀수에 대한 인덱스 값을 확인하고 여기에 귀하의 논리를 적용 할 수 있습니다 ...

추신 : 위의 브라우저의 콘솔 박스의 출력을 보여줍니다.

작업 데모 : http://jsbin.com/qivesekono/1/

+0

Codebased, 답장을 보내 주셔서 감사합니다. 성공없이 "각()/모듈러스"솔루션을 시도해 보았 기 때문에 귀하의 접근 방식을 좋아했습니다. 귀하의 코드를 사용할 때 오류가 발생합니다 - "잡히지 않은 ReferenceError : val이 정의되지 않았습니다." ? 선언되지 않은 변수입니까, 아니면 네임 스페이스의 어떤 것입니까? – user933101

+0

@ user933101 코드를 수정 했으므로 출력을 원하는 것으로 볼 수 있습니다. 이 링크를 클릭하십시오 : http://jsbin.com/qivesekono/1/ – codebased

+0

Grazie mille! 도와 주셔서 감사합니다. – user933101

1
var result=[]; 

for(var i=0,limit=myArray.length; i<limit; i+=2) 
{ 
    result[i]=myArray[i]+myArray[i+1]; 
} 
0

당신은 같은 동적 변수 이름을 사용하지 수 있도록 노력

var myArray = [2, 23, 45, 128, 92, 3], 
    obj = {}; 

for (var i = 0; i < myArray.length/2; i++) { 
    obj['val' + (i + 1)] = myArray[i * 2] + myArray[i * 2 + 1] 
} 

console.log(obj)