Du nulstiller jo aldrig item, så det er samme objekt, du bliver ved med at ændre - og dermed indeholder sidste array 3 elementer, der alle peger på samme objekt:
var rec_array:Array = new Array(); rec_array.push({name:"john", city:"omaha", zip:68144}); rec_array.push({name:"john", city:"kansas city", zip:72345}); rec_array.push({name:"bob", city:"omaha", zip:94010}); rec_array.sortOn(["name", "city"]); for (i=0; i<rec_array.length; i++) { trace(rec_array[i].name+", "+rec_array[i].city); } trace("******************"); var rec_array:Array = new Array(); item = new Object(); item["name"] = "john"; item["city"] = "omaha"; item["zip"] = 68144; rec_array.push(item); item = new Object(); item["name"] = "john"; item["city"] = "kansas city"; item["zip"] = 72345; rec_array.push(item); item = new Object(); item["name"] = "bob"; item["city"] = "omaha"; item["zip"] = 94010; rec_array.push(item); rec_array.sortOn(["name", "city"]); for (i=0; i<rec_array.length; i++) { trace(rec_array[i].name+", "+rec_array[i].city); }
Og output er:
bob, omaha john, kansas city john, omaha ****************** bob, omaha john, kansas city john, omaha
Det er da referencer til samme objekt. Lige meget hvor langt væk du gemmer en reference til det så vil det stadig være en reference til samme objekt.
Men tark for points :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.