Computer >> Máy Tính >  >> Lập trình >> Javascript

Tính toán phương sai cho một mảng số trong JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một mảng số được sắp xếp theo thứ tự tăng dần.

Hàm của chúng ta sẽ tính toán phương sai cho mảng số. Phương sai của một tập hợp số được tính trên cơ sở giá trị trung bình của chúng.

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

Và phương sai (V) =$ (\ sum_ {i =0} ^ {n-1} (arr [i] - M) ^ 2) $ / n

Ví dụ

Sau đây là mã -

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))

Đầu ra

4.204081632653061