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