자바스크립트 배열 축소(Reduction)
자바스크립트에서 배열을 다루다 보면 배열의 값을 축소해서 하나의 값을 얻고 싶은 경우가 있습니다. 이때 자바스크립트 배열 축소(Reduction)를 사용할 수 있습니다. 배열 축소는 배열의 모든 요소를 반복하여 하나의 값으로 줄이는 과정입니다. 이를 통해 배열의 요소를 합산(sum), 평균(average), 최대값(maximum), 최소값(minimum) 등으로 축소할 수 있습니다.
배열 축소의 기본 문법
배열을 축소하기 위해서는 reduce()
메서드를 사용합니다. reduce()
메서드는 콜백 함수와 초깃값을 인자로 받습니다. 콜백 함수는 배열의 각 요소를 처리하면서 축소 되는 값을 계산하는 로직을 담당합니다. 초깃값은 축소 결과의 초깃값이 됩니다.
아래는 reduce()
메서드의 기본 문법입니다.
배열.reduce(callback[, initialValue])
배열 축소 예제
다음의 예제를 통해 배열 축소를 이해해보겠습니다. 아래의 배열은 학생들의 성적을 나타내는 배열입니다.
const grades = [85, 90, 78, 92, 88];
합산(sum) 예제
배열의 모든 요소를 합산하여 총 합을 구하는 예제입니다.
const sum = grades.reduce((accumulator, currentValue) => {
return accumulator + currentValue;
}, 0);
console.log(sum); // 출력: 433
평균(average) 예제
배열의 모든 요소를 평균하여 평균값을 구하는 예제입니다.
const average = grades.reduce((accumulator, currentValue, index, array) => {
accumulator += currentValue;
if (index === array.length - 1) {
return accumulator / array.length;
} else {
return accumulator;
}
}, 0);
console.log(average); // 출력: 86.6
최대값(maximum) 예제
배열에서 가장 큰 값을 구하는 예제입니다.
const max = grades.reduce((accumulator, currentValue) => {
return Math.max(accumulator, currentValue);
}, Number.MIN_SAFE_INTEGER);
console.log(max); // 출력: 92
최소값(minimum) 예제
배열에서 가장 작은 값을 구하는 예제입니다.
const min = grades.reduce((accumulator, currentValue) => {
return Math.min(accumulator, currentValue);
}, Number.MAX_SAFE_INTEGER);
console.log(min); // 출력: 78
결론
자바스크립트의 배열 축소(Reduction) 개념을 이해하고 기본적인 사용법과 예제를 살펴보았습니다. reduce()
메서드를 활용하여 배열의 값을 축소하는 다양한 연산을 수행할 수 있습니다. 이를 통해 복잡한 배열 처리 로직을 보다 간결하고 효율적으로 구현할 수 있습니다.