您现在的位置: 万盛学电脑网 >> 程序编程 >> 脚本专题 >> javascript >> 正文

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

作者:佚名    责任编辑:admin    更新时间:2022-06-22

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