在 JavaScript 中计算数字数组的方差
问题
我们需要编写一个JavaScript函数,该函数接收按升序排序的数字数组。
我们的函数应该计算数字数组的方差。一组数字的方差是根据它们的平均值计算的。
$Mean(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