
알고있으면 좋은 Javascript Tip✨
reduce()
- reduce 함수는 배열을 순회하면서 각 요소에 대해 콜백 함수를 실행시키고, 콜백 함수의 반환 값을 accumulator에 계속해서 누적시킨다. 그리고 순회가 완료되면 accumulator의 최종 값을 반환한다.
(1) reduce 함수 기본 문법
- reduce 함수는 배열을 순회하면서 각 요소에 대해 콜백 함수를 실행시키고, 콜백 함수의 반환 값을 accumulator에 계속해서 누적시킨다. 그리고 순회가 완료되면 accumulator의 최종 값을 반환한다.
array.reduce(callback(accumulator, currentValue[, index[, array]] )[, initialValue])
- array : recude를 적용할 배열
- callback : 배열의 각 요소에 대해 실행할 콜백 함수. 콜백 함수는 다음 매개변수를 가진다.
- accumulator : 콜백 함수의 반환 값 또는 이전 순회에서의 최종 결과값. 초기 값(initialValue)이 제공된 경우 첫 번째 순회에서는 initialValue로 설정
- currentValue : 현재 순회 중인 배열의 요소
- currentIndex (옵션) : 현재 순회 중인 배열의 요소 인덱스
- array (옵션) : reduce 함수가 호출된 배열
- initialValue (옵션) : 콜백 함수의 첫 번째 순회에서 accumulator로 사용될 초기 값. 초기 값이 제공되지 않으면 배열의 첫 번째 요소가 초기 값이 된다.
(2) reduce 함수 동작 과정
let total = [1, 2, 3, 4, 5].reduce(
( acc, cur ) => acc + cur, 0
);
acc + cur
0 + 1 = 1
1 + 2 = 3
3 + 3 = 6
6 + 4 = 10
10 + 5 = 15
console.log(total) // 결과값: 15
- 초기 값은 0에서 시작한다.
- 배열의 마지막 요소까지 순회가 완료되면, reduce() 함수는 최종 acc 값을 반환한다.
'Study > JavaScript' 카테고리의 다른 글
| [JS] toFixed (0) | 2023.10.19 |
|---|---|
| [JS] padStart & padEnd (0) | 2023.10.17 |
| [JS] call & apply & bind (0) | 2023.10.05 |
| [JS] Set (0) | 2023.09.14 |
| [JS] 이벤트 루프 (0) | 2023.09.07 |