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

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


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

const arr = [
   {val: 56, canUse: true},
   {val: 16, canUse: true},
   {val: 45, canUse: true},
   {val: 76, canUse: false},
   {val: 45, canUse: true},
   {val: 23, canUse: false},
   {val: 23, canUse: false},
   {val: 87, canUse: true},
];

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

ตัวอย่าง

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

const arr = [
   {val: 56, canUse: true},
   {val: 16, canUse: true},
   {val: 45, canUse: true},
   {val: 76, canUse: false},
   {val: 45, canUse: true},
   {val: 23, canUse: false},
   {val: 23, canUse: false},
   {val: 87, canUse: true},
];
const excludedAverage = arr => {
   let count = 0, props = 0;
   for(let i = 0; i < arr.length; i++){
      if(!arr[i].canUse){
         continue;
      };
      props++;
      count += arr[i].val;
   };
   return (count) / (!props ? 1 : props);
};
console.log(excludedAverage(arr));

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ในคอนโซล -

49.8