윤쨩이의 개발 블로그
12 [ 배열 메소드 _reduce() / reduceRight() : 배열 요소 하나로 정리하기 ] 본문
reduce(): 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환합니다.
reducer함수는 네 개의 인자를 가진다.
- 누산기 (acc)
- 현재 값 (cur)
- 현재 인덱스 (idx)
- 원본 배열 (src)
리듀서 함수의 반환 값은 누산기에 할당되고, 누산기는 순회 중 유지되므로 결국 최종 결과는 하나의 값이 된다.
예제를 통해 알아보자.
const arrNum1 = [100, 200, 300, 400, 500];
const result1 = arrNum1.reduce(element => element);
console.log(result1); //100
const arrNum2 = [100, 200, 300, 400, 500];
const result2 = arrNum2.reduce((previous, current) => previous + current);
console.log(result2); //1500
const arrNum3 = [100, 200, 300, 400, 500];
let result3 = 0;
for( let i=0; i<arrNum3.length; i++ ){
result3 = result3 + arrNum3[i]
}
console.log(result3); //1500
const arrNum4 = [[100,200],[300,400]];
const result4 = arrNum4.reduce((p,c) => p.concat(c));
console.log(result4); //[100, 200, 300, 400]
- concat메소드는 결합 메소드로 배열을 결합 해준다.
reduceRight(): 배열의 각 값 (오른쪽에서 왼쪽으로)은 값을 단일 값으로 줄여야합니다.
예제를 통해 알아보자.
const arrNum5 = ["javascript", "react", "vue"];
const result5 = arrNum5.reduceRight((p,c) => p + c);
console.log(result5); //vuereactjavascript
실행과정은 이렇다!
01. reactjavascript
02. vuereactjavascript
참고:
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/ReduceRight
'자바스크립트 메소드 > 배열 메소드' 카테고리의 다른 글
11 [ 배열 메소드 _ map() : 배열 요소 추출하여 새로운 배열을 만들기 ] (0) | 2021.10.16 |
---|---|
10 [ 배열 메소드 _ filter() : 배열 요소 검색하기 (2) ] (0) | 2021.10.16 |
09 [ 배열 메소드 _find() / findIndex() : 배열 요소 검색하기 ] (0) | 2021.10.16 |
08 [ 배열 메소드_splice() : 배열 요소를 다른 요소로 변경 (2) ] (0) | 2021.10.16 |
07 [ 배열 메소드_slice() : 배열 요소를 다른 요소로 변경 ] (0) | 2021.10.16 |
Comments