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
반응형
'FrontEnd > JavaScript' 카테고리의 다른 글
[JS] javascript : ES6에서의 Class에 대해서.. ( 클래스 상속 ) (0) | 2022.03.10 |
---|---|
[JS] javascript ES6에서의 Class에 대해서.. ( Class 생성과 함수 호출 ) (0) | 2022.03.09 |
[JS] some함수와 every함수에 대해 알아보자. ( 배열 API ) (0) | 2022.03.09 |
[JS] splice함수와 slice함수에 대해 알아보자. ( 배열 값 자르기 ) (0) | 2022.03.09 |
[JS] reverse 함수를 사용하여 배열 안의 데이터를 반전 시켜보자 (0) | 2022.03.09 |