ホームページ  >  記事  >  ウェブフロントエンド  >  配列統計関数を実装するjs配列メソッド拡張_基礎知識

配列統計関数を実装するjs配列メソッド拡張_基礎知識

WBOY
WBOYオリジナル
2016-05-16 16:52:521198ブラウズ
コードをコピー コードは次のとおりです:

/*************************************************** *
*作成者:joe zhou
*説明: 配列統計関数
***************************** * **********************/
$.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;
}
その他{
return min;
}
});
},
sum: function (arr) {
return cacl(arr, function (item, sum) {
if (typeof (sum) == '未定義') {
return item;
}
else {
return sum = item;
}
});
} 、
avg: function (arr) {
if (typeof (arr) == '未定義' || 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 アイテムを返す;
}
else {
return min;
}
});
};
Array.prototype.sum = function () {
return cacl(this, function (item 、sum) {
if (typeof (sum) == 'unknown') {
return item;
}
else {
return sum = item;
}
});
};
Array.prototype.avg = function () {
if (this.length == 0) {
return 0;
}
return this. sum(this) / this.length;
};
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。