在 JavaScript 中計算一組數字的方差


問題

我們需要編寫一個 JavaScript 函式,該函式接受一個按升序排列的數字陣列。

我們的函式應該計算該數字陣列的方差。一組數字的方差是基於其平均數計算的。

$平均數 (M) = ( \sum_{i=0}^{n-1} arr[i])$ / n

以及方差 (V) = $(\sum_{i=0}^{n-1} (arr[i] - M)^2)$ / n

示例

以下為程式碼 −

 線上演示

const arr = [4, 6, 7, 8, 9, 10, 10];
const findVariance = (arr = []) => {
   if(!arr.length){
      return 0;
   };
   const sum = arr.reduce((acc, val) => acc + val);
   const { length: num } = arr;
   const median = sum / num;
   let variance = 0;
   arr.forEach(num => {
      variance += ((num - median) * (num - median));
   });
   variance /= num;
   return variance;
};
console.log(findVariance(arr))

輸出

4.204081632653061

上次更新:21-04-2021

1 千次 + 瀏覽量

開啟您的 事業

透過完成課程獲得認證

開始
廣告