할 수 있는 최대한 단순한 코드를 만들고, 문제를 해결하는 다른 방법도 찾아보자
정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
function solution(arr) {
    var answer = 0;
    return answer;
}
| arr | return | 
|---|---|
| [1,2,3,4] | 2.5 | 
| [5,5] | 5 | 
function solution(arr) {
	return arr.reduce((acc, cur) =>
		acc + cur / arr.length, 0);
};
배열을 순회하며 누산하는 메소드 reduce를 사용한 솔루션
function average(array){
  return array.reduce((a, b) => a + b) / array.length;
}
똑같이 reduce를 사용했지만 각 루프마다 current 값을 나누는 대신 reduce의 반환값을 나눴다. 따라서 initial value도 필요하지 않다. 루프 내부를 최대한 간결하게 만드는 것이 최적화에 좋아보인다.
function average(array){
    var sum = 0;
  for(var value of array){
    sum += value;
  }
  return sum/array.length;
}
reduce 대신 for..of 메소드로 배열의 모든 값을 더한 후 평균을 구함