Dear all,
I am having a confusing night with Associative Arrays in Flash CS3. For example I wrote these lines:
var listMC: Array = new Array ();
listMC["0"] = "instance0";
listMC["1"] = "instance1";
listMC["2"] = "instance2";
listMC["3"] = "instance6";
listMC["6"] = "instance8";
listMC["7"] = "instance5";
trace(listMC.length);
Result/ 8
Why 8? It seems flash assumes that it has to take into account those missing numbers (4,5). If I use a loop to see the content of the array I got:
instance0,instance1,instance2,instance6,,,instance8,instance5
This confirms the assumption. And if I use:
listMC["id0"] = "instance0";
listMC["id1"] = "instance1";
listMC["id2"] = "instance2";
listMC["id3"] = "instance6";
listMC["id6"] = "instance8";
listMC["id7"] = "instance5";
trace(listMC.length);
Result/ 0
No idea why!!!
So, I tried using objects and I got
var listMC: Object = new Object ();
listMC["0"] = "instance0";
listMC["1"] = "instance1";
listMC["2"] = "instance2";
listMC["3"] = "instance6";
listMC["6"] = "instance8";
listMC["7"] = "instance5";
trace(listMC.length);
Result/ undefined
Not lucky again
A light in this world of darkness?
Thanks in advance