14. juni 2007 - 17:55
Der er
6 kommentarer og 1 løsning
object undefined
Når jeg forsøger at udskrive længden af et object får jeg undefined? Objectet er en flerdimensionel variabel jeg selv opretter txt.text = data+'\n'; txt.text += data.length; resultat: [object Object] undefined
Annonceindlæg fra Computerworld it-jobbank
Mød 3.500+ it-talenter på IT-DAY 2026
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Det er klart nok, for et objekt har ingen længde, med mindre, du behandler det som et array: var o:Object = new Object(); o = [1, 2, 3]; o.En = "Første værdi"; o.To = "Anden værdi"; o.Tre = "Sidste værdi"; trace(o); trace(o.length); Hvis du vil vide, hvor mange elementer, dit objekt indeholder, kan du bruge en selvdefineret funktion til det: var o:Object = new Object(); o = [1, 2, 3]; o.En = "Første værdi"; o.To = "Anden værdi"; o.Tre = "Sidste værdi"; trace(FindLength(o)); function FindLength(b:Object):Number { var Temporary_Count:Number = 0; for(var i:String in b) { Temporary_Count++; } return Temporary_Count; }
Og hvis du har et mere avanceret objekt som: var o:Object = new Object(); o = [[1, 2], [3]]; o.En = "Første værdi"; o.To = "Anden værdi"; o.Tre = "Sidste værdi"; o.Dimmensioner = [[0, 0], 0, [[[0], [0, 0]]], [0, [0, 0, 0]]]; Så vil det være en fordel at udvide funktionen: trace(FindLength(o)); function FindLength(b:Object):Number { var Temporary_Count:Number = 0; for(var i:String in b) { if(b[i] instanceof Array) { Temporary_Count += FindLength(b[i]); } else { Temporary_Count++; } } return Temporary_Count; }
Og har du Objects i dit Object (som o.N = {a:0, b:1, c:2, d:3, e:4, f:5};), så udskift følgende: if(b[i] instanceof Array) { med if(b[i] instanceof Object) {
mens jeg lige sidder og tænker over det hele kunne jeg godt tænke mig at vide om at et object altid bliver listet baglæns? eks. for(var key in obj) //
Når du benytter for..in vil den altis liste elementerne i modsat rækkefølge end tilføjet. Både af elementer i arrays, objects og movieclips.
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.