Heim  >  Artikel  >  Web-Frontend  >  Welche Methode verwenden Sie, um den Maximalwert eines Arrays in js zu ermitteln, klug oder dumm?

Welche Methode verwenden Sie, um den Maximalwert eines Arrays in js zu ermitteln, klug oder dumm?

yulia
yuliaOriginal
2018-09-08 17:24:231812Durchsuche

Der Grund für das Schreiben dieses Artikels

Ich verwende in den Projekten, an denen ich gerade arbeite, selten Algorithmen, daher bin ich mit diesem Aspekt natürlich etwas unbekannt. Bei einer kürzlich durchgeführten Codierung bin ich auf die Notwendigkeit gestoßen, den maximalen Wert aus einem Array zu erhalten. Jetzt, da ich darüber nachdenke, ist das wirklich eine „Sünde“. Damals war ich in meinem Herzen ein wenig stolz: „Nun, ich habe die integrierte Methode von js verwendet, um ein Problem zu lösen, das normalerweise durch die Verwendung eines Sortieralgorithmus gelöst werden muss. Der Code ist kurz, es ist nicht nötig, ihn zu schreiben.“ Kopfschmerzen beim Durchlaufen und Vergleichen, und die Lesbarkeit ist gut. Das innere Drama ist schwer, oder? Ähem, hey, ich bin noch jung und faul. Die endogene Sortierfunktion von js verwendet auch die Sortierung. Weitere Informationen finden Sie unter Implementierung der endogenen Sortierfunktion von js in segmentfault.

Magie und Tricks
Es gibt viele „Techniken und Tricks“ in js, und manchmal verwende ich diese „Techniken und Tricks“ oft absichtlich (beachten Sie, dass ich nicht dagegen bin). man muss es benutzen, manchmal ist es aber auch nicht notwendig). Um beispielsweise den Maximalwert in einem Array zu ermitteln, gibt es in js keine native Methode zum Ermitteln des Maximalwerts in einem Array, aber Math tut dies:

Math.max(22, 79, 33) // 79

Wenn Sie ein Array verwenden möchten, können Sie es auch verwenden it:

 var arr = [22, 79, 33];
 Math.max.apply(null, arr); // 79

Oder anstatt die Methode apply zu verwenden, können Sie das Array in einen String konvertieren und die Methode eval() verwenden, um den in „Math.max(num1, num2, num3)":

 var max = eval("Math.max(" + arr.join(',') + ")"); // 79

Wenn Sie nicht erwartet haben, dass Sie einfach die oben erwähnte Funktion sort() verwenden können:

var arr = [22, 79, 33];
 var getMax = function(arr) {
   var copyArr = JSON.parse(JSON.stringify(arr));
 var len = copyArr.length;
     copyArr.sort();
    return copyArr[len - 1];
 };
 getMax(arr); // 79

Dumme Methode
Wenn Sie es jetzt sehen, müssen Sie über die Leistungsfähigkeit von js erstaunt sein. Wenn Sie sich jedoch zu sehr auf seine „wunderbaren Fähigkeiten“ verlassen, geraten Sie schließlich in einen Zustand der „Arroganz“. ist stark. Kehren Sie also zu den Grundlagen zurück und trainieren Sie Ihre Gehirnleistung auf dumme Weise:

 var arr = [22, 79, 33];
  var getMax = function(arr) {
     var len = arr.length,
         max = arr[0]; 
     while (len--) {
         if (max >= arr[len]) {
            continue;
         }
       max = arr[len];
    } 
    return max;
 };
 getMax(arr); // 79

Das obige ist der detaillierte Inhalt vonWelche Methode verwenden Sie, um den Maximalwert eines Arrays in js zu ermitteln, klug oder dumm?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn