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