숫자 배열을 받는 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