# Associative arrays: Array or Object?

**URL:** <https://forum.kirupa.com/t/associative-arrays-array-or-object/225973>\
**Category:** flash\
**Created:** [May 17, 2007, 4:50am UTC](https://forum.kirupa.com/t/associative-arrays-array-or-object/225973 "2007-05-17T04:50:22Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![costa](https://avatars.discourse-cdn.com/v4/letter/c/85f322/32.png) [@costa](https://forum.kirupa.com/u/costa)\
**Post date:** [May 17, 2007, 4:50am UTC](https://forum.kirupa.com/t/associative-arrays-array-or-object/225973/1 "2007-05-17T04:50:22Z")

</div>

Dear all,

I am having a confusing night with Associative Arrays in Flash CS3. For example I wrote these lines:

```auto
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:

```auto
instance0,instance1,instance2,instance6,,,instance8,instance5

```

This confirms the assumption. And if I use:

```auto
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

```auto
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
