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

JavaScript - ไม่รวมค่าบางค่าในการคำนวณเฉลี่ย


สมมติว่าเรามีอาร์เรย์ของวัตถุเช่นนี้ −

data = [
   {"Age":26,"Level":8},
   {"Age":37,"Level":9},
   {"Age":32,"Level":5},
   {"Age":31,"Level":11},
   {"Age":null,"Level":15},
   {"Age":null,"Level":17},
   {"Age":null,"Level":45}
];

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่คำนวณระดับเฉลี่ยสำหรับวัตถุทั้งหมดที่มีค่าความจริงสำหรับคุณสมบัติอายุ

มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

data = [
   {"Age":26,"Level":8},
   {"Age":37,"Level":9},
   {"Age":32,"Level":5},
   {"Age":31,"Level":11},
   {"Age":null,"Level":15},
   {"Age":null,"Level":17},
   {"Age":null,"Level":45}
];
const findAverage = arr => {
   const creds = arr.reduce((acc, val) => {
      const { Age, Level } = val;
      let { count, sum } = acc;
      if(Age){
         count += 1;
         sum += Level;
      };
      return { count, sum };
   }, {
      count: 0,
      sum: 0
   });
   return (creds.sum)/(creds.count);
};
console.log(findAverage(data));

ผลลัพธ์

ต่อไปนี้เป็นผลลัพธ์ในคอนโซล -

8.25