[JavaScript] 배열의 평균 구하기 / reduce함수

miaa·2023년 1월 22일

STUDIES

목록 보기
2/7
post-thumbnail

문제설명

정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요.

제한사항

  • 0 ≤ numbers의 원소 ≤ 1,000

  • 1 ≤ numbers의 길이 ≤ 100

  • 정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다.


입출력 예


입출력 예 설명

  • 입출력 예 #1
    numbers의 원소들의 평균 값은 5.5입니다.

  • 입출력 예 #2
    numbers의 원소들의 평균 값은 94.0입니다.



접근 방식

  • 처음에 for문을 사용 했었다

  • 내가 알던 for문이 아닌, 처음 보는 형태로 푼 사람들도 많아서 놀랬고

  • reduce 함수를 이번 기회에 알게 되어서 짧게 정리 하려고 한다



reduce 함수 ?

  • reduce() 메서드는 배열의 각 요소에 대한 누적 계산의 결과 값을 리턴한다

  • 총 4개의 인자를 받는다

    • accumulator
      : 콜백의 첫 번째 호출이면서 initialValue를 제공한 경우에는 initialValue의 값

    • currentValue
      : 처리할 현재 요소

    • currentIndex (생략 가능)
      : 처리할 현재 요소의 인덱스. initialValue를 제공한 경우 0, 아니면 1부터 시작

    • array (생략 가능)
      : reduce()를 호출한 배열


  • initialValue (생략 가능)

    • callback의 최초 호출에서 첫 번째 인수에 제공하는 값. 초기값을 제공하지 않으면 배열의 첫 번째 요소를 사용

    • 빈 배열에서 초기값 없이 reduce()를 호출하면 오류가 발생


  • 참고 링크 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce


내 풀이


다른 사람 풀이

  • for of 라는 형식을 처음 봐서 신기했고 이렇게 코드가 짧아질 수도 있다는게 놀라웠다...! (ES6에 나온 가장 최신 기능이라고 한다)

  • 찾아보니 reduce 함수를 포함해 for in 등 자바스크립트에서 배열을 순회하는 방법이 더 있어서 다음에 시간이 나면 한번 정리를 해봐야겠다



profile
엉금엉금

0개의 댓글