reduce()

hyeun427·2022년 4월 26일
0

TIL

목록 보기
46/59
post-thumbnail

Reduce()

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

우선, reduce의 문법 구조부터 살펴보자.

배열.reduce((누적값, 현재값, 인덱스, 요소) => { return 결과 }, 초깃값);


덧셈 예시

  1. 초깃값이 있을 때

var oneTwoThree = [1,2,3]

result = oneTwoThree.reduce((acc, cur, i) => {
  console.log(acc, cur, i);
  return acc + cur;
}, 0);		// 초깃값 0

// 0 1 0
// 1 2 1
// 3 3 2
result; // 6
  1. 초깃값이 없을 때 : 초깃값이 없을 때는 0번째 인덱스가 초깃값이 된다!!
var oneTwoThree = [1,2,3]

result = oneTwoThree.reduce((acc, cur, i) => {
  console.log(acc, cur, i);
  return acc + cur;
});			// 초깃값 없음
// 1 2 1
// 3 3 2
result; // 6

객체에서 원하는 값만 사용하기

reduce에 대해 작성하기 위해 구글링을 하다가 보게 된 한 블로그에서 원하는 값만 사용하는 방법을 발견하였다.

뭔가 보고나니까 당연한 사실인데 막상 사용하려하면 생각을 못 할 것 같아서 작성한다!

const friends = [
  {
    name: '짱구',
    age: 28,
    job: '회사원',
  },
  {
    name: '철수',
    age: 38,
    job: '은행원',
  },
  {
    name: '유리',
    age: 33,
    job: '요리사',  }
];

// 3명의 나이를 더해봅니다.
// 여기서 초기값 설정이 반드시 필요합니다.
const ageSum = friends.reduce((accumulator, currentObject) => {
  return accumulator + currentObject.age;
}, 0);

console.log('나이 합 ', ageSum);			// 친구들 나이 합  99
profile
어제보다 더 나은, 어제보다 더 밝은

0개의 댓글