reduce
* 배열의 각 요소에 대해 주어진 함수(=reducer)를 실행하고, 단 하나의 결과값을 반환함
* map, filter 등의 다양한 메서드를 구현
* 대부분 배열에 있는 인자들을 꺼내서 사용할때 forEach문을 사용한다.
하지만 reduce를 알아두면 다양한 곳에서 사용할 수 있다.
arr.reduce((acc,cur,idx,src)->{
return 결과
},초기값);
acc : 누적 값
cur : 현재 값
idx : 현재 인덱스(초기값을 제공하면 0, 아니면 1부터 시작)
src : reduce()를 호출한 배열
예제. 덧셈 (초기값 설정)
input.reduce((acc, cur, idx) => {
console.log(acc, cur, idx);
return acc + cur;
}, 0)
//acc : 누적 결과
//cur : 현재 값
//idx : index
<결과>
0,1,0
1,2,1
3,3,2
6,4,3
덧셈 (초기값 설정x)
input.reduce((acc, cur, idx) => {
console.log(acc, cur, idx);
return acc + cur;
})
<결과>
//초기값 설정하지 않으면 idx는 1부터 시작
1,2,1
3,3,2
6,4,3
반응형
'JavaScript' 카테고리의 다른 글
객체에 객체를 병합하는 Object.assign 메서드 (0) | 2022.10.26 |
---|---|
[Javascript] reduce()함수 (0) | 2022.06.03 |
[Javascript] 배열에 특정 값 포함여부 확인 includes()함수 (0) | 2022.06.02 |
[Javascript] shift, unshift 함수 (0) | 2022.06.01 |
[Javascript] Array forEach()함수 (0) | 2022.05.31 |