no that's correct but id should be declared outside of your loop - as3 will actually give you a duplicate variable error for putting it inside the loop.
you can also refer to your iterator (i) after the loop is done i'd rewrite your function like this var arObj:Array = [{},{}] function test():void { var id:String; for each(var i:Object in arObj) { trace("1" ,id); id = "test" + Number(Math.random()).toString(); trace("2" ,id); } trace(i); } best a On 4 August 2010 10:45, Jiri <jiriheitla...@googlemail.com> wrote: > I have the following case: > > var l:Array = [{},{}] > function test():void{ > for each(var i:Object in l){ > var id:String;// = null; > trace("1" ,id); > id = "test" + Math.random().toString(); > trace("2" ,id); > } > } > > I seems that 'id' is not resetted to null on every iteration as I would > expect. I have to explicitly set the id to null myself! Does some know why > this is, or are my expectations just wrong. > > > Jiri > _______________________________________________ > Flashcoders mailing list > Flashcoders@chattyfig.figleaf.com > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > _______________________________________________ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders