展会信息港展会大全

js数组方法扩展实现数组统计函数
来源:互联网   发布日期:2016-01-26 10:57:43   浏览:1372次  

导读:这篇文章主要介绍了js数组方法扩展,实现数组统计函数,需要的朋友可以参考下代码如下: *****************************************************CreateBy:joe zhou*Description:数组统计函数******************** ...

这篇文章主要介绍了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<arr.length;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;

};

赞助本站

人工智能实验室

相关热词: 数组 js

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港