JSFiddle - React, Tailwind, and code Playground

by prozoroff

JavaScript

var arr = [1,6,5,3,7,6,5,8,2];

function naive(arr){
var average = 0;
var result = 0;

for(var i = 0, l = arr.length; i < l; i++){
average += arr[i];
}
average = average / arr.length;


for(var i = 0, l = arr.length; i < l; i++){
result += (average - arr[i])*(average - arr[i]);
}
result = result / arr.length;

alert(result);

};

function fast(arr){
var sum = 0;
    var sq_sum = 0;
    
    for(var i = 0, l = arr.length; i < l; i++){
       sum += arr[i];
       sq_sum += arr[i] * arr[i];
    }
    
    var mean = sum / arr.length;
    var variance = sq_sum / arr.length - mean * mean;
   alert(variance);

};

naive(arr);
fast(arr);