Here you can find the source of average(fun)
Array.prototype.average = function (fun) { return this.sum(fun) / this.length; };
Array.prototype.average = function() if (this.length < 1) { return Number.NaN; return this.sum() / this.length;
Array.prototype.average = function () { var sum = 0, j = 0; for (var i = 0; i < this.length, isFinite(this[i]); i++) { sum += parseFloat(this[i]); ++j; return j ? sum / j : 0; };
Array.prototype.average = function() { var sum = this.sum(); var count = this.length; return sum/count;
Array.prototype.average = function(){ var sum = 0; for (var i of this){ sum += i; return sum / this.length;
Array.prototype.average = function(arr) { if(!arr) arr = this; var len = arr.length, i, avg = 0; for( i = 0; i < len; i++ ) { avg += arr[i]; return avg / len;
Array.prototype.avg = function(){ return this.sum() / this.length; }; Array.prototype.sum = function(){ for (var i = 0, sum = 0 ; i != this.length; ++i) { var n = this[i]; if(!isNaN(n)) { sum += n*1; return sum; };
Array.prototype.avg = function() { var av, num, _i, _len; av = 0; for (_i = 0, _len = this.length; _i < _len; _i++) { num = this[_i]; av = av + num; return av / this.length; }; ...
Array.prototype.avg = function() { var av = 0; var cnt = 0; var len = this.length; for (var i = 0; i < len; i++) { var e = +this[i]; if(!e && this[i] !== 0 && this[i] !== '0') e--; if (this[i] == e) {av += e; cnt++;} } return av/cnt; ...
Array.prototype.avg = function () { var sum=0; var drops=this.drops(); for (var i = 0; i < this.length; i++) if (+this[i] !== 0) sum += +this[i]; return (sum/(this.length-drops));