数组的平均值,不包括最小最大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

以上是 数组的平均值,不包括最小最大JavaScript 的全部内容, 来源链接: utcz.com/z/330825.html

回到顶部