오늘의하루

[Javascript] Array.reduce 문법 본문

코딩공부

[Javascript] Array.reduce 문법

오늘의하루_master 2022. 5. 13. 17:26

구문

arr.reduce(callback[, initialValue])

callback은 4가지 인수를 받을 수 있습니다.

  • accumulator
  • currentValue
  • currentIndex
  • array

예제_1

[1,2,3,4,5].reduce((accumulator, currentValue)=>accumulator + currentValue);
// initialValue 없는 경우

 

과정

1번째 호출 accumulator : 1 / currentValue : 2 / currentIndex : 1 return : 3

2번째 호출 accumulator : 3 / currentValue : 3 / currentIndex : 2 return : 6

3번째 호출 accumulator : 6 / currentValue : 4 / currentIndex : 3 return : 10

4번째 호출 accumulator : 10 / currentValue : 5 / currentIndex : 4 return : 15

결과 : 15

a

예제_2

[1,2,3,4,5].reduce((accumulator, currentValue)=>accumulator + currentValue,0);
// initialValue 있는 경우

과정

1번째 호출 accumulator : 0 / currentValue : 1 / currentIndex : 0 return : 1

2번째 호출 accumulator : 1 / currentValue : 2 / currentIndex : 1 return : 3

3번째 호출 accumulator : 3 / currentValue : 3 / currentIndex : 2 return : 6

4번째 호출 accumulator : 6 / currentValue : 4 / currentIndex : 3 return : 10

4번째 호출 accumulator : 10 / currentValue : 5 / currentIndex : 4 return : 15

결과 : 15

예제_3

[[1,2],[3,4],[5,6]].reduce((accumulator, currentValue)=>
	accumulator.concat(currentValue);
);

concat을 이용해서 2차원 배열을 1차원 배열로 변경할 수 있다.

과정

1번째 호출 accumulator : [1,2] / currentValue : [3,4] / currentIndex : 1 return : [1,2,3,4]

2번째 호출 accumulator : [1,2,3,4] / currentValue : [5,6] / currentIndex : 2 return : [1,2,3,4,5,6]

결과 : [1,2,3,4,5,6]

Comments