reduce [immutable] - 불변
- arr.reduce(callback[, initialValue])
-
리턴값이 필요
-
다음 리듀서 호출 시, 첫번째 파라미터로 전달
-
함수를 실행하고, 하나의 결과값을 반환
매개변수
callback 배열의 각 요소에 대해 실행할 함수
-
accumulator 누산기accmulator는 콜백의 반환값을 누적. 콜백의 이전 반환값 또는, 콜백의 첫 번째 호출
-
initialValue를 제공한 경우에는 initialValue의 값
-
currentValue 처리할 현재 요소
-
currentIndex 처리할 현재 요소의 인덱스
-
initialValue를 제공한 경우 0, 아니면 1부터 시작
-
array reduce()를 호출한 배열
initialValue callback의 최초 호출에서 첫 번째 인수에 제공하는 값
-
초기값을 제공하지 않으면 배열의 첫 번째 요소를 사용
-
빈 배열에서 초기값 없이 reduce()를 호출하면 오류가 발생
리턴 값
-
누적 계산의 결과 값
reduce의 작동 원리 : 배열 축소
-
배열에서 문자열로
-
배열에서 숫자로
-
배열에서 객체로
reduce 실행
let number = [1, 2, 3, 4, 5];
numbers = number.reduce(function(acc, value, index) {
console.log(acc, value, index);
return acc + value;
});
/*==================================================*/
// 결과 값
1 2 1
3 3 2
6 4 3
10 5 4
15
호출 횟수 | accumulator | currentValue | currentIndex | 리턴 값 |
1번째 호출 | 1 | 2 | 1 | 3 |
2번째 호출 | 3 | 3 | 2 | 6 |
3번째 호출 | 6 | 4 | 3 | 10 |
4번째 호출 | 10 | 5 | 4 | 15 |
최종 리턴 값 : 15
참조 사이트 : MDN reduce
'CodeStates > └ JavaScript(Pre)' 카테고리의 다른 글
재귀 함수 (0) | 2020.06.22 |
---|---|
배열 다루기 (0) | 2020.06.22 |
filter (0) | 2020.06.20 |
map (0) | 2020.06.20 |
for Each (0) | 2020.06.20 |
댓글