참고: https://www.freecodecamp.org/news/how-to-add-numbers-in-javascript-arrays/
JavaScript의 배열은 하나의 변수에 여러개의 값을 순서대로 저장해주고 다양한 방법으로 해당 값을 조작할 수 있게 해주는 객체입니다. 이 포스트에서는 여러 가지 방법으로 주어진 배열에 있는 모든 숫자의 합계를 계산하는 방법을 알아보겠습니다.
다음 방법을 사용해 배열에 있는 모든 숫자의 합계를 찾는 방법을 알아보겠습니다:
- for loop
- forEach() 메소드
- reduce() 메소드
JavaScript의 for 루프를 사용하여 배열의 합 계산하기
배열에 있는 모든 숫자의 합을 계산하는 가장 간단한 방법은 for 루프를 사용하는 것 입니다. 이는 반복을 n 번 수행합니다.
다음 예제를 보겠습니다:
const myNums = [1, 2, 3, 4, 5];
let sum = 0;
for (let i = 0; i < myNums.length; i++ ) {
sum += myNums[i];
}
console.log(sum);
위의 예제에서는 먼저 myNums 라는 배열을 만들어서 다섯 개의 숫자를 저장했습니다. 그 다음 sum 이라는 이름의 변수를 만들어 0으로 초기화 했습니다. 이 변수에는 for 루프의 계산 결과가 저장될 것 입니다. 다음으로 for 루프로 myNums 배열의 끝까지 모든 요소에 대하여 루프를 돌았습니다. 루프를 돌 때 마다 sum 변수에 배열의 각각의 값을 더하는 계산을 수행했습니다.
JavaScript의 forEach() 메소드로 배열의 합계 얻기
배열의 합계를 계산하는 또 다른 방법은 JavaScript의 내장 메소드 forEach()를 사용하는 것 입니다. 이는 배열을 돌며 각 항목에 대해 콜백 함수를 실행해줍니다. 다음의 예제를 보겠습니다:
const myNums = [1,2,3,4,5];
let sum = 0;
myNums.forEach(num => {
sum += num;
})
console.log(sum);
위의 예제에서는 myNums 배열을 만들었습니다. 또한 sum 이라는 변수를 선언하고 값을 0으로 초기화 했습니다. 그 다음 forEach() 메소드를 사용하여 배열의 각 항목에 루프를 돌았습니다. 각각의 루프에서 배열 요소의 모든 값을 sum에 더했습니다.
JavaScript reduce() 메소드를 사용하여 배열 합 계산
배열의 합계를 계산하는 또 다른 방법은 ES6에서 도입된 reduce() 메소드를 사용하는 것 입니다. reduce() 메소드는 배열의 모든 요소를 단일 값으로 줄입니다. 다음 예를 보겠습니다:
const myNums = [1,2,3,4,5];
const sum = myNums.reduce((accumulator, currentValue) => {
return accumulator + currentValue
}, 0);
console.log(sum);
reduce() 메소드는 사용자 정의 콜백 함수를 첫 번째 매개변수로 받습니다. 이 함수는 배열의 각 요소에 대해 항상 호출됩니다. 콜백 함수는 다음 두 가지 필수 매개변수를 요구합니다.
- accumulator: 이는 이전 루프의 콜백 함수 호출 결과로 리턴된 값을 저장한 변수입니다.
- currentValue: 현재 루프 돌고 있는 배열의 요소 값 입니다.
reduce() 메소드의 두 번째 매개변수는 처음 루프의 accumulator 값으로 넘길 초기 값 입니다. 이는 0으로 설정했습니다.
관련 글
'dev > javascript' 카테고리의 다른 글
[javascript] 자바스크립트 별점 주기 (star rating) (10) | 2023.05.17 |
---|---|
[javascript] 자바스크립트 문자열 뒤집기 (reverse string) (11) | 2023.05.16 |
[javascript] 자바스크립트 parseFloat 사용 방법 (숫자 변환) (8) | 2023.05.15 |
[javascript] 자바스크립트 console.trace (stack trace) (7) | 2023.05.12 |
[javascript] 자바스크립트 console.table() (7) | 2023.05.12 |
댓글