Javascript - reduce

KimSeongTae·2021년 8월 29일
0

JavaScript

목록 보기
6/6

reduce()메서드는 배열의 값들을 하나의 새로운 값으로 합치는 메서드로, 다음과 같이 구성된다.

배열.reduce((누적값, 현재값) -> {
  return 새로운 누적값;
}, 초깃값);

만약 초깃값이 지정되지 않았습면 배열의 첫번째 요소가 초깃값이된다.

[1,2,3].reduce((x,y)=>{
  return x+y;
}, 0);
x(누적값)y(현재값)x + y(반환값)
011
123
336

위처럼 마지막으로 6이 반환되어 reduce의 결과값이 됩니다.

초깃값 0이 첫 번째 누적값(x)가 되고, 배열의 첫 번째 요소가 현재값(y)가 된다. x+y를 한 반환값은 다음 번 누적값이 된다. 이렇게 마지막 요소까지 함수가 반복해서 실행된다. (반복문과 유사하다)

reduce()로 단순한 사칙연산을 반복할 수도 있지만 배열을 객체로 바꿔 줄 수도 있다.

['a','b','c','d'].redcue((x, y, i) => {x[i] = y; return x},{})

//결과
// {0: 'a', 1: 'b', 2: 'c'}
x(누적값)y(현재값)i(index)
x : {}y : 'a'i : 0
x : {0:'a'}y : 'b'i : 1
x : {0 : 'a', 1 : 'b'}y : 'c'i : 2
x : {0 : 'a', 1 : 'b', 2 : 'c'}

위와같이 배열 -> 객체로 변환 해 줄 수도 있다.

0개의 댓글