在 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 次瀏覽

開啟你的 職業生涯

完成本課程並獲得認證

開始學習
廣告
© . All rights reserved.