Array.prototype.reduce

오주형·2022년 10월 2일
0

: reduce 메서드는 자신을 호출한 배열을 모든 요소를 순회하며 인수로 전달받은 콜백함수를 반복 호출한다. 그리고 콜백 함수의 반환값을 다음 순회 시에 콜백 함수의 첫 번째 인수로 전달하면서 콜백 함수를 호출하여 하나의 결과값을 만들어 반환한다. 이때 원본 배열은 변경되지 않는다.

  • 예제 27-113
// 1부터 4까지 누적을 구한다.
const sum = [1, 2, 3, 4].reduce((accumulator, currentValue, index, array) => accumulator + currentValue, 0);

console.log(sum); //10
구분accumulatorcurrentValueindexarray콜백함수의 반환값
첫 번째 순회0 (초기값)10[1,2,3,4]1 (accumulator+currentValue)
두 번째 순회121[1,2,3,4]3(accumulator+currentValue)
세 번째 순회332[1,2,3,4]6(accumulator+currentValue)
네 번째 순회643[1,2,3,4]10(accumulator+currentValue)

평균 구하기
최대값 구하기(Math.max 메서드를 사용하는 방법이 더 직관적이다.)
요소의 중복횟수 구하기
중첩 배열 평탄화
중복 요소 제거(filter 메서드를 사용하는 방법이 더 직관적이다.)

profile
곧 개발자

0개의 댓글