티스토리 뷰

반응형

Array.prototype.reduce()

JavaScript의 `reduce()` 메소드는 배열의 모든 요소를 각각 한 번씩 실행하는 함수입니다. 이 함수는 네 가지 인수를 취합니다. 첫 번째와 두 번째 인수는 누산기와 현재 값이며, 세 번째 인수는 현재 인덱스, 네 번째 인수는 원본 배열입니다.

기본 사용법

arr.reduce(callback( accumulator, currentValue, [, index[, array]] )[, initialValue])


accumulator는 누산기입니다. 이전 단계의 callback 함수 호출에서 반환한 값이며, 이 값은 callback의 첫 번째 인수로 제공됩니다
currentValue는 배열에서 처리중인 현재 요소입니다.

index와 array는 선택적인 매개변수로, 배열에서 처리중인 현재 요소의 인덱스와 reduce가 호출된 배열을 나타냅니다.

initialValue는 선택적 값으로, 첫 번째 호출의 accumulator 값으로 사용됩니다. 만약 제공되지 않으면 배열의 첫 번째 요소가 accumulator로 사용되며, callback은 인덱스 1에서 시작합니다. 만약 initialValue가 제공되면 accumulator로 사용되며, callback은 인덱스 0에서 시작합니다.

간단한 예제로 숫자 배열의 합계를 계산해봅시다:

const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum);  // Output: 15

이 예제에서, reduce() 함수는 numbers 배열의 모든 요소를 순회하며, 각 요소를 accumulator에 더하고 그 결과를 sum에 저장합니다. 초기 accumulator 값은 0입니다.

 

또한 minValue 구할때도 유용하게 사용될 수 있습니다.

let data = [5, 2, 9, 8, 4]
let minValue = data.reduce((a,b) => Math.min(a,b));
console.log(minValue); // Output: 2

이렇게 reduce() 메소드는 배열의 모든 요소에 대해 함수를 실행하고, 단일 출력값을 생성하는 데 유용하게 사용됩니다.

반응형

'알고리즘 > 기본개념' 카테고리의 다른 글

javascript - 큐(queue)  (0) 2023.06.23
javascript - 스택(stack)  (0) 2023.06.22
집합 자료형 - Set  (0) 2023.06.15
배열 초기화  (0) 2023.06.14
시간 복잡도  (0) 2023.06.12
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
링크
글 보관함