Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tính phương sai cho mảng số bằng JavaScript


Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào một mảng số được sắp xếp tăng dần.

Hàm phải tính phương sai cho mảng số. Phương sai của một tập số được tính dựa trên 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ụ

Dưới đâ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))

Kết quả

4.204081632653061