[javascript] reduce 메서드를 사용한 배열 순회

reduce 메서드는 배열의 모든 원소를 순회하면서 원하는 연산을 수행하는 함수입니다. 이 함수를 활용하면 배열의 값을 누적하거나, 원하는 조건에 따라 필터링하는 등 다양한 작업을 수행할 수 있습니다.

reduce 메서드 기본 구조

reduce 메서드는 다음과 같은 구조를 가지고 있습니다.

array.reduce(callback, initialValue)

callback 함수는 다음과 같은 매개변수를 가지고 있습니다.

예제: 배열의 합 구하기

다음은 reduce 메서드를 사용해 배열의 합을 구하는 예제입니다.

const numbers = [1, 2, 3, 4, 5];

const sum = numbers.reduce((accumulator, currentValue) => {
  return accumulator + currentValue;
}, 0);

console.log(sum); // 15

위 예제에서 reduce 메서드를 사용하여 배열의 합을 구했습니다. initialValue로 0을 설정하였고, callback 함수에서는 accumulator에 현재까지의 합을 누적하고, currentValue에는 배열의 각 원소를 가져와 합을 구하였습니다. 마지막으로 sum 변수에 결과를 할당하고, console.log로 결과를 출력하였습니다.

예제: 배열에서 최댓값 구하기

다음은 reduce 메서드를 사용해 배열에서 최댓값을 구하는 예제입니다.

const numbers = [4, 2, 9, 3, 7];

const max = numbers.reduce((maxValue, currentValue) => {
  return Math.max(maxValue, currentValue);
}, 0);

console.log(max); // 9

위 예제에서는 Math.max 함수를 사용하여 최댓값을 구했습니다. reduce 메서드를 사용할 때 initialValue로 0을 설정하였고, callback 함수에서는 maxValuecurrentValue 중에 큰 값을 반환하고, 이를 누적하여 최종적으로 최댓값을 구하였습니다.

결론

reduce 메서드는 배열을 순회하면서 다양한 연산을 수행할 수 있는 유용한 메서드입니다. 위 예시들을 통해 reduce 메서드의 기본적인 사용법과 활용 방법을 익힐 수 있었습니다. 다양한 상황에서 reduce 메서드를 적절히 활용하여 효율적인 코드를 작성할 수 있도록 연습해보세요!


참고 문서: