reduce

김선우·2022년 6월 27일
0

Posting

목록 보기
44/60

반복되는 연산에 대한 값을 받아올 때 사용하는 배열 메소드이다(알고리즘 담당멘토님 왈)

아래는 Array.reduce()기본적인 정보이다

arr.reduce(callback[, initialValue])
매개변수
1. callback 다음의 네 가지 인수를 받는다

  • totalValue: 콜백의 반환값(축적된 총 값)
  • currentValue: 현재 배열 내 처리되고 있는 요소
  • currentIndex(Optional): 현재 배열 내 처리되고 있는 요소의 인덱스
  • array(Optional): reduce 호출에 사용되는 원 배열
  1. initialValue(Optional): 콜백의 첫 번째 인수의 값에 사용되는 디폴트 값

아래는 예제코드이다.

// 예시 1
// arr의 모든 요소의 합을 구해보자!
let arr = [ 13, 63, 29, 57];
let sum = arr.reduce((total, val, idx, arr) => total + val, 0);

console.log(sum);// 162

기본적으로 reduce 메서드도 다른 메서드와 동일하게 첫 번째 인자로 함수를 받는다. 하지만, 두 번째 인자로 초기값을 셋팅할 수 있다는 것에서 차이가 있다. 물론, 두 번째 인자는 생략이 가능하며, 생략 시에는 배열의 첫 번째 값이 그값을 담당한다.

뿐만 아니라 배열을 순회하면서 return 한 값들을 accumulator, 즉 계속해서 전달받아서 사용할 수 있다. accumulator 를 어떻게 활용하냐에 따라 최종적인 return 값은 string, integer 가 될 수도, array 나 object 가 될 수도 있다.

profile
생각은 나중에..

0개의 댓글