2009-11-25 2 views
0

나는 요소를 함께 추가하는 것이 아니라 그 값을 다른 별도의 변수에 추가하는 것에 대해 이야기하고 있습니다. 이처럼자바 스크립트로 배열 요소 값을 추가하는 방법은 무엇입니까?

:이 코드

var TOTAL = 0; 
for (i=0; i<10; i++){ 
TOTAL += myArray[i] 
} 

, TOTAL 함께 수학적 요소 값을 추가하지 않지만, 서로 옆에 추가합니다, 그래서 myArr[1] = 10myArr[2] = 10 경우 다음 TOTAL1010 대신 20 될 것입니다.

내가 원하는 것을 어떻게 써야합니까?

감사

답변

5

이 배열 요소는 문자열이 같은 추가 할 때, 숫자로 변환하려고 소리 : 나는 단항 플러스 연산자 (+myArray[i])를 사용

var total = 0; 
for (var i=0; i<10; i++){ 
    total += +myArray[i]; 
} 

참고, 이것은 하나의 일반적인 방법입니다 문자열을 연결하지 않고 숫자를 더하고 있는지 확인하십시오.

+1

LOL? :) – abyx

1

배열에 문자열 값이 아닌 숫자가 포함되어 있는지 확인하십시오. 부동 소수점에 대한 (

var TOTAL = 0; 
for (var i = 0; i < 10; i++) 
{ 
    TOTAL += +myArray[i]; 
} 
+1

radix 매개 변수를 생략하는 것이 현명하지 않습니다 – Greg

+0

Dammit, 귀하의 절대적으로 올바른, 거기에 내 대답을 얻으려고 열망했다. 그것을 추가했습니다. –

+0

정말요? 왜 현명하지 않니? 자바에서는 기본값이 10입니다. 자바 스크립트에서는 다른가요? radix 인수를 사용하지 않으면 – abyx

2

빠른 방법은 그 숫자 만들기 위해 단항 플러스 연산자를 사용하는 것입니다 = - - lmao` 유효한 자바 스크립트가`롤을 의미)

var total = 0; 
for (i=0; i<10; i++) 
total+=parseInt(myArray[i]); 
0

사용 parseInt 또는 parseFloat : 당신은으로 parseInt에게 (수,베이스)를 사용하여 숫자를 문자열로 변환 할 수 있습니다

var total = 0; 
for(i=0; i<myArray.length; i++){ 
    var number = parseInt(myArray[i], 10); 
    total += number; 
} 
0
var total = myArray.reduce(function(a,b){ return +a + +b; } 
관련 문제