FrontEnd/JavaScript
[JS] reduce함수를 사용하여 값을 누적 시켜보자.
모찌바라기
2022. 3. 9. 21:05
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
반응형