2020. 7. 29. 20:18
반응형
자바스크립트 배열 요소들의 합계를 구하고 싶을 때가 있다.
엑셀이라면 sum으로 했을텐데 자바스크립트는 sum은 없어보였다.
보통 이럴 때는 var total 하나 선언해놓고 for문을 돌려서 해결할 수 있다.
좀더 괜찮은 방법이 없을까 찾아보다가 reduce를 이용하는 방법을 발견했다.
근데 그냥 편한대로 익숙한대로 for or forEach문을 이용해서 하는 것도 나쁘진 않을 것 같다.
다음 코드를 보면 대충 사용법에 대한 감을 잡을 수 있을 것이다.
참고로 익스플로러를 사용하지 않는다면 function(a, b){return a + b;} 대신 (a, b) => a + b;로 간단하게 나타낼 수 있다.
var arr = [1, 3, 5, 4, 19];
var sum = arr.reduce(function(a, b){ return a + b; }, 0);
// 32
var arr2 = [{name: "name1", score: 21}, {name:"name2", score: 23}, {name: "name3", score: 31}];
var sum2 = arr2.map(function(x){ return x.score; }).reduce(function(a, b){ return a + b; }, 0);
// 75
반응형
'dev' 카테고리의 다른 글
[JavaScript] 자식창에서 부모창의 변수 이용하기 (0) | 2021.08.30 |
---|---|
[JavaScript] 카카오톡 대화내용 백업파일 뷰어 (0) | 2021.05.30 |
[JavaScript] Email validation (0) | 2020.12.19 |
[JavaScript] 배열 섞기 (0) | 2020.08.08 |
[C#] ASP.NET Core 패스워드 암호화 (0) | 2020.06.21 |
[Link] 온라인 C# 컴파일러 (0) | 2020.02.27 |
[ASP.NET Core] 파일 업로드 기능 구현 (ajax, 멀티) (0) | 2020.02.26 |
[ASP.NET Core] 앱 재시작 없이 페이지 변경사항 반영 (0) | 2020.02.13 |