größten wert ermitteln?

DocHentai

Mitglied
Hallo zusammen,

wie stelle ich es am Besten an, wenn ich z. B. aus einem Array den größten Wert ermitteln möchte? Sprich es die werte 7 3 8 5 9 gespeichert und ich will nun den wert neun ermitteln. Leider habe ich nichts passendes gefunden, was evtl. daran liegt das ich vllt. falsch gesucht habe... :rolleyes:

Danke schon mal
 
Es ginge bspw. so:
Code:
Array.prototype.max=function()
{
  return(this.sort(function(a,b){ return b-a;})[0]);
}


arr=[7,3,8,22,11,5,4711,99,9,1];
alert(arr.max());
 
Hallo,

kannst du oder jemand anderes fähiges mir das bitte noch kurz für Blöde (sprich für mich)erklären :D ich will das jetzt nicht einfach nur stur kopieren....

Danke schon mal :)
 
Jo, kann ich :)
Erstmal im Vorraus...diese Methode lässt sich nur auf "echte" JS-Arrays anwenden.
"Echt" soll heissen: indizierte Array.
Warum:das, was man in JS als assoziativen Array kennt, ist überhaupt kein Array, sondern ein Objekt ohne die typischen Eigenschaften eines Arrays....man kann es bspw. nicht mit der Array-Methode sort() sortieren.

Erklärung:
Code:
Array.prototype.max=function()
Das vordefinierte Array-Objekt wird um die Methode max() erweitert

Code:
return(this.sort(function(a,b){ return b-a;})[0]);
Code:
this
Ist ein Zeiger auf das Objekt selbst, also den Array


Code:
sort
der Array wird sortiert über die Array-spezifische Methode sort()


Code:
function(a,b){ return b-a;}
der Methode sort() wird eine eigene Sortierfunktion als Parameter übergeben.
Standardmässig sortiert sort() lexikalisch, mit der eigenen Sortierfunktion sortiert es numerisch, und zwar absteigend.


Code:
return((....)[0])
Die Methode max() gibt das erste Element des sortierten Arrays zurück, da absteigend sortiert wurde, ist dies das höchste


  • ....das war schon alles :)
 

Neue Beiträge

Zurück