WEB/Java Script

[Java Script] 배열 내장 함수/ reduce 함수로 sum, avg구하기 / 합계 평균 구하기

자바칩 프라푸치노 2021. 4. 23. 19:13
const numbers = [1,2,3,4,5];

let sum = 0;
numbers.forEach(n=> {
  sum += n;

})

console.log(sum);

같은 뜻을 가진 코드이다.

reduce함수

const numbers = [1,2,3,4,5];

const sum = numbers.reduce((accumulator, current)=> accumulator + current, 0);
console.log(sum);

어떻게 돌아가냐면 초기값 0 이 있다.

그게 accumulator가 된다. 그리고 numbers배열에 첫번째 값이 current가 되고 

그 두개가 더 하기가 된다

그리고 초기값이 1이 되고 

accumulator가 1 , current가 2가 된다(배열의 두번째 값) 

그리고 더하면 3이되고 초기값이 3이된다.

이런식으로 더해서 sum이 나온다

 


const numbers = [1,2,3,4,5];

const avg = numbers.reduce((accumulator, current, index, array) => {
  if(index === array.length -1){
    return (accumulator + current)/ array.length;
  }
  return accumulator + current;
}, 0);
console.log(avg);

위와 비슷한 로직으로 파라미터로 index와 array를 추가해주었다.

index가 하나씩 높아지면서 index가 array의 마지막 요소가 아니면

계속 더하다가 마지막 요소가 되면 평균을 구하도록 코드를 짰다.

728x90