Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

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