reduce

김루루룽·2022년 4월 25일
0

React, Next.js

목록 보기
23/42
Array.prototype.reduce()

reduce. 배열의 각 요소에 대해 주어진 리듀서 함수를 실행하고, 하나의 결과값을 반환

빈 요소를 제외하고 배열 내에 존재하는 각 요소에 대해 callback 함수를 한 번씩 실행하는데, 콜백 함수는 다음의 네 인수를 받는다

  1. 누산기 (acc) - accumulator
  2. 현재 값 (cur) - currentValue
  3. 현재 인덱스 (idx) - currentIndex
  4. 원본 배열 (src) - array



콜백의 최초 호출 때 acc와 cur은 다음 두 가지 값 중 하나를 가질 수 있다.

초기값이 있는 경우

acc는 초기값과 같고 cur은 배열의 첫 번째 값과 같다.

초기값이 없는 경우

초기값을 제공하지 않았다면 acc는 배열의 첫번째 값과 같고,
cur은 두번째와 같다.

배열의 모든 값 환산

let sum = [0, 1, 2, 3]

sum.reduce( (acc, cur) => {
  return accumulator + currentValue;
}, 0);
// sum is 6

객체 배열에서의 값 합산

let initialValue = 0;
let sum = [
	{x: 1}, 
    {x:2}, 
    {x:3}
]

sum.reduce((acc, cur) => {
accumulator + currentValue.x,initialValue
});

console.log(sum) // logs 6

중첩 배열 펼치기

let flattened = [[0, 1], [2, 3], [4, 5]]
flattened.reduce( ( acc, cur ) => {
	accumulator.concat(currentValue)
}, []);
profile
1day 1push..plz

0개의 댓글