สมมติว่าเรามีอาร์เรย์ของวัตถุเช่นนี้ -
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