- 배열의 각 요소에 대해 지정한 함수를 실행 후 결과값을 반환한다.
- map(), filter() 메서드처럼 새로운 배열을 생성하는 것이 아닌 하나의 결과값만을 반환한다.
- reduce() 메서드는 누산기라는 개념으로 이해하면 편할 것 같다.
- 매개변수로는 가 있다.
배열명.reduce(콜백함수(accumulator, currentValue), initialValue)
- accumulator : 콜백의 반환값을 누적한다.
- currentValue : 현재 순회중인 배열 요소
- initialValue : 콜백함수 최초 호출 시 accumulator에 제공하는 값이다. 값을 지정하지 않으면 배열 첫 번째 요소의 값을 사용하며, 값을 지정하고자 할 경우 number 형태의 값을 지정하면 된다.
let arr = [10, 20, 30, 40, 50];
let redArr = arr.reduce((aaccumator, curValue) => aaccumator + curValue ,0);
console.log(redArr);
위 코드는 최초 누적값을 0으로 설정한 후 배열을 탐색하며 각 요소를 누적값에 합하는 방식의 코드이다.
reduce() 메서드를 실행하기 위해 사용한 배열의 값이 모두 누적된 것을 확인할 수 있다.
참고
reduce()