반응형
문제
- 정수를 담고 있는 배열 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
Array.prototype.reduce() - JavaScript | MDN
The reduce() method executes a user-supplied "reducer" callback function on each element of the array, in order, passing in the return value from the calculation on the preceding element. The final result of running the reducer across all elements of the a
developer.mozilla.org
반응형
'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 |
댓글