자바스크립트에서 배열에 담긴 숫자를 모조리 더 하려면 어떻게 해야 할까요?
간단한 예제입니다.
1) 배열에 숫자를 넣고
2) 각 배열의 합을 구하기
1) 배열 선언
const num10 = [1,2,3,4,5,6,7,8,9,10];
2) 배열의 합을 구할 때, 어떻게 접근해야 할까요?
2-1) for 문을 쓴다. ( 미리 얘기해두지만, 안됨 )
for (let i=0; i < num10.length; i++){
document.write(num10[i]);
}
왜 안되냐면요. 값이 더해지는게 아니라 1 2 3 4 .... 이런식으로 나열됩니다.
typeof로 num10의 type을 보면 배열은 Object(객체)입니다. isNaN에다가 넣어보면 true가 출력됩니다. 숫자가 아니라는 것이죠~
document.write('typeof : ', typeof num10);
document.write('isNaN : ', isNaN(typeof num10));
2-2) forEach를 쓴다. ( 55가 출력됩니다. )
let sumsum = 0;
num10.forEach( (item) => {
sumsum += item;
});
document.write('forEach item : ', sumsum);
2-3) reduce를 쓴다. ( 55가 출력됩니다. )
const sum = num10.reduce((a,b) => (a+b));
document.write('reduce : ', sum);
3) 결과
배열의 값을 뽑아서 더할때는~ reduce가 훨씬 간편하겠네요~
728x90
300x250