在 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP