Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript Array.reduceRight() 메서드 사용법 완벽 정리

array.reduceRight() 메서드란?

JavaScript의 array.reduceRight()는 내장(Built-in) 함수로, 주어진 배열의 요소를 오른쪽에서 왼쪽 방향으로 순회하며 하나의 단일 값으로 축약(reduce)하는 역할을 합니다.

이 메서드는 콜백 함수로 두 개의 매개변수를 받습니다.

  • previousValue(누적값): 이전 단계까지 처리된 누적 결과
  • currentValue(현재값): 현재 순회 중인 배열 요소

배열의 마지막 요소부터 시작해 첫 번째 요소까지 차례대로 연산을 수행하며, 최종적으로 하나의 값이 반환됩니다. 일반적인 reduce() 메서드가 왼쪽에서 오른쪽으로 진행하는 것과 달리, reduceRight()는 그 반대 방향으로 동작한다는 점이 핵심 특징입니다.

동작 원리

아래 예제에서는 중첩된 배열(배열의 그룹)을 reduceRight() 메서드로 처리합니다. 오른쪽 끝에 있는 [9, 10]부터 시작하여 왼쪽의 [1, 2, 3]까지 concat()으로 이어 붙이면서, 모든 요소가 하나의 그룹인 9,10,x,y,z,1,2,3으로 병합되는 과정을 확인할 수 있습니다.

예제 코드

<html>
<body>
<script>
   const Arr = [ [ 1, 2, 3 ], [ "x", "y", "z" ], [ 9, 10 ] ];
   array = Arr.reduceRight((previousValue, currentValue) => previousValue.concat(currentValue));
   document.write(array);
</script>
</body>
</html>

실행 결과

9,10,x,y,z,1,2,3

정리

reduceRight() 메서드는 배열을 뒤에서 앞으로 처리해야 하는 상황에서 유용하게 활용됩니다. 대표적인 사용 사례는 다음과 같습니다.

  • 중첩 배열을 오른쪽부터 하나로 병합할 때
  • 문자열이나 수식을 역순으로 조합해야 할 때
  • 함수 합성(function composition)에서 실행 순서를 제어할 때