반응형
문제
- 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
풀이
function solution(arr) {
let sum = arr.reduce( (prev, curr) => prev + curr);
let answer = sum / arr.length;
return answer;
}
- Array.prototype.reduce()를 이용하여 풀었다.
Array.prototype.reduce()
- 배열의 요소들을 접어서 하나의 값으로 만든다!
arr.reduce((previousValue, currentValue, currentIndex, array) =>
(previousValue += currentValue), initialValue ); //initialValue은 초기값
previousValue : 값을 계속해서 저장할 인자 (초기값은 두번째 인자인 initialValue에서 받아온다)
currentValue : 각각의 값들이 순자적으로 할당됨
initialValue
- callback을 처음으로 호출 할 때 previousValue 값이 초기화 되는 값
- initialValue를 지정하면 currentValue의 첫번째 값이 initialValue값이 된다
const arr = [1,2,3];
arr.reduce((previousValue, currentValue) =>
(previousValue += currentValue), 0 );
// arr = [0,1,2,3]
문서를 읽어도 이해가 어려워 좀 더 간단하게 풀어보았다.
const arr = [1,2,3,4];
arr.reduce((sum, value) => (sum += value), 0);
console.log(arr); // 10
더 자세한 내용은 링크 확인!
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
반응형
'front-end 공부하기 > 코딩테스트' 카테고리의 다른 글
[코딩 테스트 연습] 문자열 내 p와 y의 개수 (javascript) (0) | 2022.09.27 |
---|---|
[코딩 테스트 연습] 자연수 뒤집어 배열로 만들기 (javascript) (0) | 2022.09.27 |
[코딩 테스트 연습] 자릿수 더하기 (javascript) (0) | 2022.09.26 |
[코딩 테스트 연습] 약수의 합 (javascript) (0) | 2022.09.26 |
[코딩 테스트 연습] 짝수와 홀수 (javascript) (0) | 2022.09.26 |
댓글