首页 > 解决方案 > 计数高于平均水平

问题描述

人,刚收到一个关于我遇到的 javascript 问题的快速问题。这是提出的问题:

编写一个名为 countAboveAverage 的函数,该函数接受一个数字数组并返回有多少值大于相同数字列表的平均值的计数。您的 countAboveAverage 函数必须调用您在上一个练习中编写的 arrayAverage 函数。使用以下内容测试您的功能。

let values = [31.9, 31.3, 42.4, 42.4, 60.8, 28.1];
console.log(countAboveAverage(values)); //expect 3

这是我到目前为止得到的。

let values = [31.9, 31.3, 42.4, 42.4, 60.8, 28.1];
const count = (arr) => {
  let i = 1;
  while(i <= arr){
    i++;
  }
};
const arrayAverage = (arr) => arr.reduce ((a,b) => a+b,0)/arr.length;
const countAboveAverage = (arr) => arrayAverage(arr) ? arrayAverage(arr).count: 0;
console.log(countAboveAverage(values)); //expect 3

显然它不起作用。一点指导将不胜感激。

标签: javascriptarrayswhile-looparrow-functions

解决方案


您可以将平均值存储在变量中,然后使用它来获取大于平均值的元素计数

const countAboveAverage = (arr) => {
    const average = arrayAverage(arr);
    return arr.filter(i => i > average).length
}

arrayAverage是您的代码片段中的函数


推荐阅读