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},
];

เราต้องเขียนฟังก์ชันคำนวณค่าเฉลี่ยของ property val ของอ็อบเจกต์ที่มี canUse เป็น true เท่านั้น

ตัวอย่าง

โค้ดต่อไปนี้เป็นตัวอย่าง:

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