控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

JS数组方法扩展

作者:佚名 出处:互联网 2011年09月21日 阅读:

JS数组方法扩展

001 /**************************************************** 

002 *CreateBy:joe zhou 

003 *CreateDate:2011-9-20 

004 *Description:数组统计函数 

005 ****************************************************/

006 $.extend({ 

007     max: function (arr) { 

008         return cacl(arr, function (item, max) { 

009             if (!(max > item)) { 

010                 return item; 

011             } 

012             else { 

013                 return max; 

014             } 

015         }); 

016     }, 

017     min: function (arr) { 

018         return cacl(arr, function (item, min) { 

019             if (!(min < item)) { 

020                 return item; 

021             } 

022             else { 

023                 return min; 

024             } 

025         }); 

026     }, 

027     sum: function (arr) { 

028         return cacl(arr, function (item, sum) { 

029             if (typeof (sum) == 'undefined') { 

030                 return item; 

031             } 

032             else { 

033                 return sum += item; 

034             } 

035         }); 

036     }, 

037     avg: function (arr) { 

038         if (typeof (arr) == 'undefined' || arr.length == 0) { 

039             return 0; 

040         } 

041         return this.sum(arr) / arr.length; 

042     } 

043 }); 

044   

045 $.fn.extend({ 

046     max: function () { 

047         return $.max(this.get()); 

048     }, 

049     min: function () { 

050         return $.min(this.get()); 

051     }, 

052     sum: function () { 

053         return $.sum(this.get()); 

054     }, 

055     avg: function () { 

056         return $.avg(this.get()); 

057     } 

058 }); 

059   

060 function cacl(arr, callback) { 

061     var ret; 

062     for (var i=0; i<arr.length;i++) { 

063         ret = callback(arr[i], ret); 

064     } 

065     return ret; 

066 } 

067   

068 Array.prototype.max = function () { 

069     return cacl(this, function (item, max) { 

070         if (!(max > item)) { 

071             return item; 

072         } 

073         else { 

074             return max; 

075         } 

076     }); 

077 }; 

078 Array.prototype.min = function () { 

079     return cacl(this, function (item, min) { 

080         if (!(min < item)) { 

081             return item; 

082         } 

083         else { 

084             return min; 

085         } 

086     }); 

087 }; 

088 Array.prototype.sum = function () { 

089     return cacl(this, function (item, sum) { 

090         if (typeof (sum) == 'undefined') { 

091             return item; 

092         } 

093         else { 

094             return sum += item; 

095         } 

096     }); 

097 }; 

098 Array.prototype.avg = function () { 

099     if (typeof (this) == 'undefined' || arr.length == 0) { 

100         return 0; 

101     } 

102     return this.sum(this) / this.length; 

103 };


 

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统