現在、ますます多くの人々が配列で最大値と最小値を使用しているため、誰もが使用する方法をまとめました。コードは次のとおりです。ご質問がある場合は、ご連絡ください。一緒に学び、進歩しましょう。
次の例を見てみましょう。
var numreg = /^ - ?[0-9] +.? numreg.test(prevalue)){return curvalue; return {return 0; else if(numreg.test(prevalue)){return curvalue;例2:
関数getMaximin(arr、maximin){if(maximin == "max"){return math.max.apply(math、arr); } else if(maximin == "min"){return math.min.apply(math、arr); }} var a = [3,2,4,2,10] var b = [12,4,45,786,9,78] alert( "amax:" + getmaximin(a、 "max") + "--- amin:" + getmaximin(a、 "min") + "--- bmax:" + getmaximin ") getmaximin(b、 "min"))// amax:10 --- amin:2 --- bmax:786 --- bmin:4関数getmaximin(arr、maximin){if(maximin == "max"){return math.max.apply(math、arr); } else if(maximin == "min"){return math.min.apply(math、arr); }} var a = [3,2,4,2,10] var b = [12,4,45,786,9,78] alert( "amax:" + getmaximin(a、 "max") + "--- amin:" + getmaximin(a、 "min") + "--- bmax:" + getmaximin ") getmaximin(b、 "min"))// amax:10 --- amin:2 --- bmax:786 --- bmin:4さらに2つの方法を見てみましょう
方法1:
//最小値array.prototype.min = function(){var min = this [0]; var len = this.length; }} return min;} //最大値array.prototype.max = function(){var max = this [0]; var len = this.length; for(var i = 1; i <len; i ++){if(this [i]> max){max = this [i]; }} return max;}開発用のクラスライブラリを導入しており、クラスライブラリが同じ名前のプロトタイプメソッドも実装することを恐れている場合、関数を生成する前に、次の名前の判断を下すことができます。
if(typeof array.prototype ['max'] == 'undefined'){array.prototype.max = function(){... ...}}方法2:
結果は、Math.maxおよびmath.minメソッドを使用して迅速に取得できます。 Applyは、メソッドをコールオブジェクトと着信パラメーターを指定できるようにし、着信パラメーターを配列に編成します。現在、Math.maxというメソッドがあり、コールオブジェクトはMathであり、複数のパラメーターがあります。
array.max = function(array){return math.max.apply(math、array);}; array.min = function(array){return math.min.apply(math、array);};ただし、John Resigは静的な方法であり、それらを数学オブジェクトにし、マスターが最も好きなチェーンコールを使用できません。しかし、この方法はより合理化できます。数学オブジェクトもオブジェクトであることを忘れないでください。オブジェクトの文字通りサイズで書くときに、いくつかのビットを保存できます。
array.prototype.max = function(){return math.max.apply({}、this)} array.prototype.min = function(){return math.min.apply({}、this)}