当前位置是:汇盛国际 > 图文帮助 > 图文帮助

js数组方法扩展实现数组统计函数

来源:caddoing.com 作者:员农 发布时间:2018-03-05 点击量:

  

[js,数组方法,统计函数]js数组方法扩展实现数组统计函数

   代码如下:
  
/****************************************************  
*CreateBy:joe zhou  
*Description:数组统计函数  
****************************************************/  
$.extend({  
max: function (arr) {  
return cacl(arr, function (item, max) {  
if (!(max > item)) {  
return item;  
}  
else {  
return max;  
}  
});  
},  
min: function (arr) {  
return cacl(arr, function (item, min) {  
if (!(min < item)) {  
return item;  
}  
else {  
return min;  
}  
});  
},  
sum: function (arr) {  
return cacl(arr, function (item, sum) {  
if (typeof (sum) == 'undefined') {  
return item;  
}  
else {  
return sum += item;  
}  
});  
},  
avg: function (arr) {  
if (typeof (arr) == 'undefined' || arr.length == 0) {  
return 0;  
}  
return this.sum(arr) / arr.length;  
}  
});  
  
$.fn.extend({  
max: function () {  
return $.max(this.get());  
},  
min: function () {  
return $.min(this.get());  
},  
sum: function () {  
return $.sum(this.get());  
},  
avg: function () {  
return $.avg(this.get());  
}  
});  
  
function cacl(arr, callback) {  
var ret;  
for (var i=0; i ret = callback(arr[i], ret);  
}  
return ret;  
}  
  
Array.prototype.max = function () {  
return cacl(this, function (item, max) {  
if (!(max > item)) {  
return item;  
}  
else {  
return max;  
}  
});  
};  
Array.prototype.min = function () {  
return cacl(this, function (item, min) {  
if (!(min < item)) {  
return item;  
}  
else {  
return min;  
}  
});  
};  
Array.prototype.sum = function () {  
return cacl(this, function (item, sum) {  
if (typeof (sum) == 'undefined') {  
return item;  
}  
else {  
return sum 汇盛国际 += item;  
}  
});  
};  
Array.prototype.avg = function () {  
if (this.length == 0) {  
return 0;  
}  
return this.sum(this) / this.length;  
};  




上一篇:javascript之ESC(第二类混淆)

下一篇:node-webkit打包成exe文件被360误报木马的解决方法