在 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
廣告