เราจำเป็นต้องเขียนฟังก์ชัน 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