Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

최소 최대 JavaScript를 제외한 배열의 평균

<시간/>

숫자 배열을 받는 JavaScript 함수를 작성해야 합니다. 함수는 배열의 가장 큰 요소와 가장 작은 요소를 제외하고 배열의 평균을 계산해야 합니다.

Array.prototype.reduce() 메서드를 사용하여 배열 요소의 합을 계산하는 동시에 가장 큰 요소와 가장 작은 요소를 찾습니다.

예시

const arr = [2, 6, 5, 4, 6, 8, 8, 5, 6, 6, 9, 4, 1, 4, 6, 7];
const specialAverage = (arr = []) => {
   const { length } = arr;
   if(length <= 2){
      return 0;
   };
   const { sum, min, max } = arr.reduce((acc, val) => {
      let { min, max, sum } = acc;
      sum += val;
      if(val > max){
         max = val;
      };
      if(val < min){
         min = val;
      };
      return { min, max, sum };
   }, {
      min: Number.MAX_VALUE,
      max: Number.MIN_VALUE,
      sum: 0
   });
   return (sum - min - max) / (length - 2);
};
console.log(specialAverage(arr));

출력

이것은 다음과 같은 출력을 생성합니다 -

5.5