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
猜你喜欢