개발Story
article thumbnail

코딩테스트 문제를 접하면서 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

 

리듀서 함수는 네 개의 인자를 가집니다.

  1. 누산기 (acc)
  2. 현재 값 (cur)
  3. 현재 인덱스 (idx)
  4. 원본 배열 (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
profile

개발Story

@슬래기

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!