Don P: objekt erwartet :-(

Beitrag lesen

Hi,

Und bei manchen Engines wie SpiderMonkey hat man nochmal ganz eigene Methoden
http://www.melez.com/mykzilla/2009/04/syntaxes-for-iterating-arrays-in.html

Was es nicht alles gibt...

Ich persönlich mag die Iterationen mit for(var i ... i++) nicht sonderlich und vermeide sie wo immer möglich.

Um z.B. nur mal Array-Elemente abzuholen, die man im Array nicht weiter braucht, kann man doch viel schöner sowas schreiben:

while(array.length) { tu_was_mit( array.shift() }

bzw. umgekehrt:
while(array.length) { tu_was_mit( array.pop() }

Auf folgende nützliche Funktion zum endlos-Durchlaufen eines Arrays bin ich besonders stolz:

  
array.rotate = function (step) { /* rotiert die Array-Elemente schrittweise, © Don P ;-) */  
 step = (step||0) % (this.length||1);  
 if      (step > 0) while (step--) this.unshift(this.pop());  
 else if (step < 0) while (step++) this.push(this.shift());  
};

Statt einen Zähler i zu deklarieren, mit dem man durchläuft um ihn dann dann am Ende wieder auf 0 zu setzen, werden einfach die Array-Elemente selbst rotiert, und man greift konstant z.B. auf array[0] zu, um das nächste Element abzuholen (nach array.rotate(1);).

Gruß, Don P