본문 바로가기
front-end 공부하기/코딩테스트

[코딩 테스트 연습] 평균 구하기 (javascript)

by 치즈도넛 2022. 9. 26.
반응형

문제

- 정수를 담고 있는 배열 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

 

반응형

댓글