Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ค่าเฉลี่ยของอาร์เรย์ไม่รวม 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