reduce()
reduce메서드는 배열의 각 요소를 순회하며 callback 함수의 실행값을 누적하여 하나의 결과값을 반환한다.
구문
arr.reduce(callback[, initialValue])
arr.reduce((누산값, 현재요소값, 현재요소의 index, 현재배열) => {
return 다음 누산값;
}, 초기 누산값);
리듀서 함수는 네 개의 인자를 가집니다.
- 누산기 (acc)
- 현재 값 (cur)
- 현재 인덱스 (idx)
- 원본 배열 (src)
리듀서 함수의 반환 값은 누산기에 할당되고, 누산기는 순회 중 유지되므로 결국 최종 결과는 하나의 값이 된다.
var sum = [0, 1, 2, 3].reduce(function (accumulator, currentValue) {
return accumulator + currentValue;
}, 0);
// sum is 6
<화살표함수>
var total = [ 0, 1, 2, 3 ].reduce(
( accumulator, currentValue ) => accumulator + currentValue,
0
);
<참고>
reduce mdn
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
Array.prototype.reduce() - JavaScript | MDN
reduce() 메서드는 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환합니다.
developer.mozilla.org
반응형
'JavaScript' 카테고리의 다른 글
객체에 객체를 병합하는 Object.assign 메서드 (0) | 2022.10.26 |
---|---|
reduce() 사용법 (0) | 2022.09.15 |
[Javascript] 배열에 특정 값 포함여부 확인 includes()함수 (0) | 2022.06.02 |
[Javascript] shift, unshift 함수 (0) | 2022.06.01 |
[Javascript] Array forEach()함수 (0) | 2022.05.31 |