在 JavaScript 中查找数据集的平均值和众数是否相等


我们需要编写一个 JavaScript 函数,该函数接受一个已排序的数字数组。此函数应计算数据集的平均值和众数。然后,如果平均值和众数相等,则函数应返回 true,否则返回 false。

例如,

如果输入数组为 −

const arr = [5, 3, 3, 3, 1];

那么此数组的输出应为 true,因为此数组的平均值和中位数均为 3。

示例

代码如下 −

const arr = [5, 3, 3, 3, 1];
mean = arr => (arr.reduce((a, b) => a + b))/(arr.length);
mode = arr => {
   let obj = {}, max = 1, mode;
   for (let i of arr) {
      obj[i] = obj[i] || 0;
      obj[i]++
   }
   for (let i in obj) {
      if (obj.hasOwnProperty(i)) {
         if ( obj[i] > max ) {
            max = obj[i]
            mode = i;
         }
      }
   }
   return +mode;
}
const meanMode = arr => mean(arr) === mode(arr)
console.log(meanMode(arr));

输出

控制台上的输出如下 −

true

更新于: 11-Dec-2020

145 次浏览

开启你的 职业生涯

完成本课程并获得认证

开始学习
广告