# Arrays - stumped

**URL:** <https://forum.kirupa.com/t/arrays-stumped/28725>\
**Category:** flash\
**Created:** [August 17, 2003, 6:55pm UTC](https://forum.kirupa.com/t/arrays-stumped/28725 "2003-08-17T18:55:52Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![ahmed](https://avatars.discourse-cdn.com/v4/letter/a/8c91f0/32.png) [@ahmed](https://forum.kirupa.com/u/ahmed)\
**Post date:** [August 17, 2003, 6:55pm UTC](https://forum.kirupa.com/t/arrays-stumped/28725/1 "2003-08-17T18:55:52Z")

</div>

```auto
ahmed = []
ahmed["a"] = "sdf"
ahmed["b"] = "asd"
trace(ahmed.length) // outputs 0

ahmed = []
ahmed[0] = "sdf"
ahmed[1] = "asd"
trace(ahmed.length) // outputs 2

```

I got two questions:

a) Why does the first piece trace 0 instead of 2?  
b) How would i loop through an array where the indexes are literal (not numbers)

any help would be appreciated 🙂

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [August 17, 2003, 7:03pm UTC](https://forum.kirupa.com/t/arrays-stumped/28725/2 "2003-08-17T19:03:46Z")

</div>

arrays (lengths) are number based. :-\

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [August 17, 2003, 7:11pm UTC](https://forum.kirupa.com/t/arrays-stumped/28725/3 "2003-08-17T19:11:58Z")

</div>

Ahmed, in the first case you are using associative array.

```auto
ahmed = []
ahmed["a"] = "sdf"
ahmed["b"] = "asd"
trace(ahmed["a"]) // outputs sdf

```

I think you cannot retrieve its length since associative array isnt based on index numbers.

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [August 17, 2003, 7:13pm UTC](https://forum.kirupa.com/t/arrays-stumped/28725/4 "2003-08-17T19:13:00Z")

</div>

I think he’s trying to do enumeration.

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [August 17, 2003, 7:14pm UTC](https://forum.kirupa.com/t/arrays-stumped/28725/5 "2003-08-17T19:14:41Z")

</div>

[AS]  
ahmed = [{a:“sdf”,c:“whatever”},{b:“afd”}]  
trace(ahmed[0].a) // outputs sdf  
trace(ahmed[0].c) // outputs whatever  
trace(ahmed[1].b) // outputs afd  
trace(ahmed.length) // outputs 2

ahmed = []  
ahmed[“a”] = "sdf"  
ahmed[“b”] = "asd"  
trace(ahmed[“a”]) // outputs sdf

ahmed = []  
ahmed[0] = "sdf"  
ahmed[1] = "asd"  
trace(ahmed.length) // outputs 2  
[/AS]  
I didn’t manage to get the length of the array using “a” and “b”, since arrays are number based, but if you want to use letters at all costs, you could use the above using objects. This is basically similar to nested arrays, only I’m using objects.

1)What sen said 😛

1. What sen is about to say :P:P

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [August 17, 2003, 7:20pm UTC](https://forum.kirupa.com/t/arrays-stumped/28725/6 "2003-08-17T19:20:52Z")

</div>

if you want, you could always make your own method for checking that

```auto
Object.prototype.addProperty("propertyNum",function(){
		var L = 0;
		for (var i in this) L += this.hasOwnProperty(i);
		return L;
	},null);

ahmed = []
ahmed["a"] = "sdf";
ahmed["b"] = "asd";
ahmed[0] = "sdf";
ahmed[1] = "asd";
trace(ahmed.length) // outputs 2
trace(ahmed.propertyNum) // outputs 4

```

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [August 17, 2003, 7:52pm UTC](https://forum.kirupa.com/t/arrays-stumped/28725/7 "2003-08-17T19:52:40Z")

</div>

thanks for the proto sen 🙂

I just realized that I can for…in-loop through the associative array, that i think solves it 🙂
