[ascoders] Re: ASBroadcaster Remove Bug - wat neues

  • From: "Andre Michelle" <am@xxxxxxxxxxxxxxxxxx>
  • To: <ascoders@xxxxxxxxxxxxx>
  • Date: Fri, 9 May 2003 16:45:15 +0200

> Das scheint dich ja schwer zu beschäftigen :)

Bokel, es ist die Hölle :o)

> Hier ist mal das Problem aufs Wesentliche reduziert:

> a = [1,2,3,4];
>
> for(var i=0; i<a.length; i++){
>  trace(a[i]);
>  if(i == 1) trace(a.splice(i,1) + " wird gelöscht");
> }
>
> Ausgabe
> 1
> 2
> 2 wird gelöscht
> 4
>
> Wie du siehst, wird die 3 übersprungen.
> Natürlich ist sie trotzdem noch im Array drin,
> ein trace(a) ergibt 1,3,4

Scheint so, dass beim Löschen die restlichen Arrayeinträge
nach vorne rücken und daher beim nächsten Schleifendurchlauf
schon die 4 erscheint, womit die Schleife am Ende ist.

> Ein Bug ist das aber nicht, eher eine Unzulänglichkeit.

Verstehe. Riecht nach Bug, ist aber schlechtes Deo :o)

Wie bekomme ich dann den Index ( i ) eine Stelle zurück, ohne eine
Endlosscheife zu erzeugen ?




aM
http://www.andre-michelle.com

latest:
http://tag-der-arbeit.extrajetzt.com


------------------------------------------------------
Archiv   : //www.freelists.org/archives/ascoders/
Optionen : //www.freelists.org/list/ascoders
------------------------------------------------------

Other related posts: