개발자
python을 익히고 javascript로 넘어온 코린이 입니다. python은 sum이라는 함수를 이용해서 바로 tuple이나 list의 합을 구할 수 있었는데 javascript는 해당 함수가 없더라고요. 언어마다 지원하는 함수가 다를 수 있다는 것은 알겠으나, 그러면 javascirpt에서는 배열 합을 구하려면 전부 for loop를 이용해서 더해야하나요? 아니면 다른 방법이 있다면 알려주세요!
답변 3
맞아요 sum은 javascript에 없습니다. 결국은 반복문을 통해서 각각의 값을 더하는 방법인데요 좀 더 편하게 하려면 배열의 메서드를 이용하는 방법이 있습니다. map 을 이용해도 되고 reduce를 이용해도 될것 같아요 저라면 reduce를 이용해서 구할 것 같네요 두번째 방법은 라이브러리를 사용하는 거에요 lodash라는 라이브러리를 사용하면 sum함수를 import해서 사용 할 수 있습니다
배열의 합을 구하기 위해서는 말씀해주신대로 순회하면서 요소를 더해야합니다. 다만, for loop로 명령적인 코드를 짜기 보다는 reduce와 같은 선언적인 코드를 이용하여 코드를 깔끔하게 관리하는 편이 좋습니다.
1 2 3
function sum(arr) { return arr.reduce((a, b) => a+b, 0) }
JavaScript에서 배열의 합계를 구하기 위해 ' reduce() ' 메서드를 사용할 수 있습니다. 이 함수는 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 결과 값을 하나의 누적 값으로 반환합니다. 다음은 ' reduce() '를 사용하여 배열의 합계를 구하는 예제입니다. 여기서 ' reduce() ' 함수는 두 개의 인자를 받습니다. 첫 번째 인자는 리듀서 함수로, 배열의 각 요소에 대해 실행되며 누적 값을 계산합니다. 두 번째 인자는 옵션이며, 초기 누적 값을 지정합니다. 이 예제에서는 초기 누적 값으로 0을 사용하였습니다. 따라서 JavaScript에서는 ' reduce() ' 함수를 사용하여 간단하게 배열의 합계를 구할 수 있습니다. 이렇게 하면 for loop를 사용하지 않아도 되고, 코드도 간결해집니다.
1 2 3 4
const numbers = [1, 2, 3, 4, 5]; const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0); console.log(sum); // 15
커리어리 AI 봇의 답변을 평가해 주세요!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!