개발공작소
728x90
반응형

reduce 메서드는 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환합니다.

 

배열을 순회하면서 값을 누적시킨다. 각 값의 더한 총값을 구할 때 주로 쓰인다.

여기서는 값 누적에 대해서만 했기 때문에 더 자세히 알고 싶은 사람은 ( 문서 참조 ) 하길 바란다.

 

Array.prototype.reduce()

==========================================================================

 

기본문법

[배열명].reduce([이전값],[현재값]){
	return [이전값] + [현재값]
},[초기값])

 

예제

<script>
    let PCs = [
        {'monitor' : 'LG', 'cpu' : 'AMD', 'speaker' : 'BRITS', 'price' : 1300000},
        {'monitor' : 'SAMSUNG', 'cpu' : 'INTEL', 'speaker' : 'BRITS', 'price' : 795000},
        {'monitor' : 'LG', 'cpu' : 'INTEL', 'speaker' : 'BRITS', 'price' : 1170000},
        {'monitor' : 'LG', 'cpu' : 'AMD', 'speaker' : 'BRITS', 'price' : 920000}
    ];
    let result = PCs.reduce((perv,curr)=>{
        return perv + curr.price;
    },0)
    console.log(result);
    //결과 4185000
</script>

 

이 함수 보면서 든 생각인데, 굳이 이걸 쓸 필요는 있을까? 라는 생각도 든다.

지금까지 값을 더할 때는 forEach문을 사용했는데, forEach문도 그렇고 이 reduce함수도 그렇고

어차피 전 값을 순회하면서 하나하나 더하기 때문에 다른게 있나 싶다...

728x90
반응형
profile

개발공작소

@모찌바라기

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!