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