js數(shù)組方法擴(kuò)展實(shí)現(xiàn)數(shù)組統(tǒng)計(jì)函數(shù)
更新時(shí)間:2014年04月09日 11:21:32 作者:
這篇文章主要介紹了js數(shù)組方法擴(kuò)展,實(shí)現(xiàn)數(shù)組統(tǒng)計(jì)函數(shù),需要的朋友可以參考下
復(fù)制代碼 代碼如下:
/****************************************************
*CreateBy:joe zhou
*Description:數(shù)組統(tǒng)計(jì)函數(shù)
****************************************************/
$.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;
};
您可能感興趣的文章:
- JavaScript數(shù)組方法大全(推薦)
- JavaScript學(xué)習(xí)筆記之ES6數(shù)組方法
- js 定義對(duì)象數(shù)組(結(jié)合)多維數(shù)組方法
- 數(shù)組方法解決JS字符串連接性能問(wèn)題有爭(zhēng)議
- javascript中FOREACH數(shù)組方法使用示例
- js數(shù)組方法reduce經(jīng)典用法代碼分享
- 基于JavaScript Array數(shù)組方法(新手必看篇)
- Javascript中數(shù)組方法匯總(推薦)
- JavaScript基礎(chǔ)進(jìn)階之?dāng)?shù)組方法總結(jié)(推薦)
- 可能被忽略的一些JavaScript數(shù)組方法細(xì)節(jié)
相關(guān)文章
javascript學(xué)習(xí)筆記(八)正則表達(dá)式
這篇文章本來(lái)很早就要寫(xiě)的,主要介紹一下javascript正則表達(dá)式,拖了挺久的,現(xiàn)在整理下,供大家學(xué)習(xí)交流哈!2014-10-10如何用ajax來(lái)創(chuàng)建一個(gè)XMLHttpRequest對(duì)象
如何創(chuàng)建ajax代理對(duì)象? 我知道怎么做~就是不清楚怎么用語(yǔ)言表達(dá)?本文將詳細(xì)介紹如何解決此問(wèn)題2012-12-12onmouseover和onmouseout的一些問(wèn)題思考
這兩個(gè)事件的觸發(fā)表現(xiàn)真的就是你想要的嗎?在IE下確實(shí)有你需要的兩個(gè)這樣事件:onmouseenter 和 onmouseleave。但很不幸FF等其他瀏覽器并不支持2013-08-08在Javascript中 聲明時(shí)用"var"與不用"var"的區(qū)別
Javascript聲明變量的時(shí)候,雖然用var關(guān)鍵字聲明和不用關(guān)鍵字聲明,很多時(shí)候運(yùn)行并沒(méi)有問(wèn)題,但是這兩種方式還是有區(qū)別的2013-04-04在JavaScript應(yīng)用中使用RequireJS來(lái)實(shí)現(xiàn)延遲加載
這篇文章主要介紹了在JavaScript應(yīng)用中使用RequireJS來(lái)實(shí)現(xiàn)延遲加載,JavaScript是一款人氣JS庫(kù),需要的朋友可以參考下2015-07-07網(wǎng)頁(yè)編輯器ckeditor和ckfinder配置步驟分享
ckeditor+ckfinder配置用法,現(xiàn)在ckeditor是互聯(lián)網(wǎng)上應(yīng)用比較廣泛的網(wǎng)頁(yè)編輯器了,這里介紹下配置方法,需要的朋友可以參考下2012-05-05