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