fastix®: Array: Höchster Wert

Beitrag lesen

Moin!

Hallo alle! Wenn ich verschiedene Werte in einen Array mit nicht von vornherein bekannter Länge eintrage: Wie kann ich anschliessend am einfachsten die Indexnummer des höchsten Werts bestimmen?

Also:

meinArray=[13,-27,315,47,177];


> Wie bekomme ich am einfachsten das Ergebnis 2 (für das dritte Arrayelement und den höchsten Wert) heraus?  
  
  
Schreibe Dir diese Funktion am besten so um, dass diese einen Array mit dem key und dem Wert des Elementes zurück gibt.  
  
function maxItem(ar) {  
  // gibt Nr und Wert des größten Elementes zurück  
  var max  = ar[0];  
  var maxi = 0  
  for (var i = 1; i < ar.length; i++) {  
    if (this[i] > max) {  
      max = this[i];  
      maxi=i;  
    }  
  }  
  return array(i,max);  
}  
  
  
  
Wenn Du eigentlich nur den höchsten oder niedrigsten Wert brauchst, dann reicht:  
  
~~~javascript
Array.prototype.max = function(){  
    return Math.max.apply( Math, this );  
};  
	  
Array.prototype.min = function(){  
    return Math.min.apply( Math, this );  
};

Aufruf z.B. mit:

var ar=new Array(1,3,2,7,5);  
alert (ar.max());

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix