[JS] reduce() | 배열의 합을 구해보자

reduce 함수

자바스크립트에서 제공되는 함수 중 하나로, 배열의 각 요소끼리 합한 결과를 제공한다. 이제 배열의 합을 구할때 for문은 갖다 버리도록 하자. 

 

기본구조

array.reduce(callback(accmulator, currentValue, currentIndex, array), 0)

매개변수 설명

  • `callback`: 쓰는데 중요하지 않으니 패스하기로 함 (사실 설명 못하겠음)
  • `accmulator(acc)`:  (필수) 값을 누적하는 변수. 초기값으로 초기화 된다. (코드에서 맨 뒤에 보이는 0이 초기값이다.)
  • `currentValue(cur)`: (필수) 현재 처리중인 요소
  • `currentIndex(idx)`: 현재 요소의 인덱스
  • `array`: 호출한 원본 배열
  • `initialValue`: 초기값 (맨 뒤 0), 생략하면 배열의 첫 요소가 초기값이 된다. 
매개변수 중 `acc`와 `cur`만 필수값이고 나머지는 선택적으로 사용하면 된다. 

 

 

예시코드

var arr = [1, 2, 3];

var sum = arr.reduce(function(acc, cur, idx){
	return acc + cur;
}, 0);

console.log(sum) // 6

설명

  • 매개변수로 `acc`(누적값) 과 `value`(처리중인 요소) 를 사용
  • 초기값으로 `0` 을 설정
  • 누산기`acc`에 각 요소`value`를 더함
  • 마지막으로 `sum`에 저장됨

 

코드 줄이기  (화살표함수)

화살표 함수를 사용해서 `reduce()`함수를 좀 더 간결하게 표현해보자

 

var arr = [1, 2, 3]
var sum = arr.reduce((acc, cur) => acc + cur, 0);

console.log(sum); // 6;

 

 

💡 화살표 함수 보기

 

난해하다 난해해 | 화살표함수 #자바스크립트

화살표함수 () =>함수의 정의 방식으로, 함수를 간결하게 표현 할 수 있다. 왜 이런걸 만들어서 사람 피곤하게 하니 라고 생각했었지만 자주 보고 쓰다 보면 어느 새 손에 익더라.. (아마도) 예시

reactjy2.tistory.com

 

 

 

- 끝 -

댓글

Designed by JB FACTORY