Das Vergleichen der Größe von Werten in einem Array ist eine relativ häufige Operation. Es gibt viele Möglichkeiten, die Größe zu vergleichen. Hier sind die folgenden Methoden lautet wie folgt:
Methode 1:
//最小值 Array.prototype.min = function() { var min = this[0]; var len = this.length; for (var i = 1; i < len; i++){ if (this[i] < min){ min = this[i]; } } 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; }
Wenn Sie eine Klassenbibliothek für die Entwicklung einführen und befürchten, dass die Klassenbibliothek auch eine Prototypmethode mit demselben Namen implementiert, können Sie den doppelten Namen überprüfen, bevor Sie die Funktion generieren:
if (typeof Array.prototype['max'] == 'undefined') { Array.prototype.max = function() { ... ... } }
Methode 2:
Verwenden Sie die Methoden Math.max und Math.min, um schnell Ergebnisse zu erhalten. Mit Apply kann eine Methode das aufrufende Objekt und die eingehenden Parameter angeben. Die eingehenden Parameter werden in Form eines Arrays organisiert. Es gibt jetzt eine Methode namens Math.max, das aufrufende Objekt ist Math und mehrere Parameter
Array.max = function( array ){ return Math.max.apply( Math, array ); }; Array.min = function( array ){ return Math.min.apply( Math, array ); };
John Resig macht sie jedoch zu statischen Methoden des Math-Objekts und kann den Kettenaufruf, den der Meister am meisten liebt, nicht verwenden. Aber diese Methode kann effizienter sein. Vergessen Sie nicht, dass das Math-Objekt auch ein Objekt ist. Wir können ein paar Bits einsparen, indem wir es in den Literalwert des Objekts schreiben.
Array.prototype.max = function(){ return Math.max.apply({},this) } Array.prototype.min = function(){ return Math.min.apply({},this) } [1,2,3].max()// => 3 [1,2,3].min()// => 1
Methode 3:
function 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]; console.log(getMaximin(a,"max"));//10 console.log(getMaximin(b,"min"));//04
Methode 4:
var a=[1,2,3,5]; alert(Math.max.apply(null, a));//最大值 alert(Math.min.apply(null, a));//最小值
Mehrdimensionale Arrays können wie folgt geändert werden:
var a=[1,2,3,[5,6],[1,4,8]]; var ta=a.join(",").split(",");//转化为一维数组 alert(Math.max.apply(null,ta));//最大值 alert(Math.min.apply(null,ta));//最小值
Der obige Inhalt ist eine Zusammenfassung der Javascript-Methoden zum Erhalten der Maximal- und Minimalwerte in einem vom Herausgeber freigegebenen Array. Ich hoffe, es gefällt Ihnen.