Javascript

JavaScript Array(배열) reduce

굿다운 2021. 5. 24. 14:23

자바 스크립트 배열 reduce() 방법 소개

 

let numbers = [1, 2, 3];

let sum = 0;
for (let i = 0; i < numbers.length; i++) {
    sum += numbers[i];
}
console.log(sum);//6

평소 for문으로 돌리면 이렇게 코드를 짜야 될것입니다.

 

하지만 reduce를 사용하면 이렇게 구현가능합니다.

let sum = numbers.reduce(function (accumulator, current) {
    return accumulator + current;
});
console.log(sum); // 6

reducer함수는 4 개의 인수를 사용합니다.

 

function reducer(accumulator, currentValue, currentIndex, array){}

1) accumulator가 초기값이고,

2) currentValue  반복에서 배열 요소의 값입니다.

3) currentIndex 반복에서 배열 요소의 인덱스입니다.

4)array  reduce()메서드가 호출된 배열입니다.

 

 reducer()함수는 각 요소에서 실행되고 값을 반환합니다. 이 반환 값은 accumulator각 반복  인수에 할당됩니다 . 최종 반복에서의 값은 accumulator단일 결과 값이됩니다.

 

자바 스크립트 배열 reduceRight()방법

reduceRight()방법은 방법과 동일한 방식으로 작동 reduce()하지만 반대 방향으로 작동합니다.

 

let numbers = [1, 2, 3];

let sum = numbers.reduceRight(function (acc, curr) {
    console.log('acc: ', acc, 'curr:', curr);
    return acc + curr;
});
console.log(sum);

acc:  3 curr: 2
acc:  5 curr: 1
6