在 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

以上是 在 JavaScript 中计算数字数组的方差 的全部内容, 来源链接: utcz.com/z/355979.html

回到顶部