코딩테스트 문제를 접하면서 reduce함수를 활용한 경우가 많았다.
reduce는 동사로 줄이다라는 뜻이다.
javascript에서는 배열객체에서 사용하는 함수로 배열을 돌려서 줄여간다?
예제를 통해서 알아보자
Array.reduce()
예제 1) reduce() 메서드는 배열의 각 요소에 대해 주어진 reducer함수를 실행하고, 하나의 결과값을 반환한다.
const array1 = [1, 2, 3, 4];
// 0 + 1 + 2 + 3 + 4
const initialValue = 0;
const sumWithInitial = array1.reduce(
(previousValue, currentValue) => previousValue + currentValue,
initialValue
);
console.log(sumWithInitial);
// expected output: 10
리듀서 함수는 네 개의 인자를 가집니다.
- 누산기 (acc)
- 현재 값 (cur)
- 현재 인덱스 (idx)
- 원본 배열 (src)
리듀서 함수의 반환 값은 누산기에 할당되고, 누산기는 순회 중 유지되므로 결국 최종 결과는 하나의 값이 됩니다.
예제2) 값을 누산시켜 보자
[0, 1, 2, 3, 4].reduce(function(accumulator, currentValue, currentIndex, array) {
return accumulator + currentValue;
}, 10);
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
'Javascript > 문법' 카테고리의 다른 글
[javascript] sort 함수. (1) | 2022.06.07 |
---|---|
[Javascript] Slice, Splice, Split (0) | 2022.05.07 |
[Javascript ES6] join (0) | 2022.04.02 |
[Javascript ES6] Map (2) | 2022.03.02 |
[Javascript ES6] Promise.all() (0) | 2022.03.02 |