Tuesday, 15 February 2011

actionscript 3 - Accessing Array Length comes back as Zero -



actionscript 3 - Accessing Array Length comes back as Zero -

i have array in actionscript 3 formatted follows:

var _arraylist = new array; _arraylist["item1"] = true; _arraylist["item2"] = 56; _arraylist["item3"] = "john doe"; _arraylist["item4"] = -56.8;

and i'm attempting pull "_arraylist.length" comes 0... why?

because way makes array "associative". in action script, every class basic object, dynamic properties. , array both - containing indexed elements, , having dynamic properties.

here's illustration of regular array:

var array:array = new array(); array.push(value); // equal array[0] = value; array.push(56); // equal array[1] = value; array[20] = 'test'; // set 20th element 'test'

if utilize approach, length of array not 0. , can utilize for loop:

var total:uint = array.length; (var i:uint = 0; < total; i++) { trace (array[i]); }

but when keys not numeric, setting "properties" array , length 0. again, can loop through them, for-in:

for (var key:string in array) { trace (array[key]); }

here keys won't 0, 1, 2, 3 , on, instead item1, item2, item3. (keep in mind order not preserved!)

so basic conclusion if utilize non-numeric keys, utilize object instead. array numeric indexed collections.

arrays actionscript-3

No comments:

Post a Comment