View comments | RSS feed

Array constructor

public Array([value:Object])

Lets you create an array. You can use the constructor to create different types of arrays: an empty array, an array with a specific length but whose elements have undefined values, or an array whose elements have specific values.

Usage 1: If you don't specify any parameters, an array with a length of 0 is created.

Usage 2: If you specify only a length, an array is created with length number of elements. The value of each element is set to undefined.

Usage 3: If you use the element parameters to specify values, an array is created with specific values.

Availability: ActionScript 1.0; Flash Player 5

Parameters

value:Object [optional] - Either:

Note: If only a single numeric parameter is passed to the Array constructor, it is assumed to be length and it is converted to an integer by using the Integer() function.

Example

Usage 1: The following example creates a new Array object with an initial length of 0:

var my_array:Array = new Array();
trace(my_array.length); // Traces 0.

Usage 2: The following example creates a new Array object with an initial length of 4:

var my_array:Array = new Array(4);
trace(my_array.length); // Returns 4.
trace(my_array[0]); // Returns undefined.
if (my_array[0] == undefined) { // No quotation marks around undefined.
    trace("undefined is a special value, not a string");
} // Traces: undefined is a special value, not a string.

Usage 3: The following example creates the new Array object go_gos_array with an initial length of 5:

var go_gos_array:Array = new Array("Belinda", "Gina", "Kathy", "Charlotte", "Jane");
trace(go_gos_array.length); // Returns 5.
trace(go_gos_array.join(", ")); // Displays elements.

The initial elements of the go_gos_array array are identified, as shown in the following example:

go_gos_array[0] = "Belinda";
go_gos_array[1] = "Gina";
go_gos_array[2] = "Kathy";
go_gos_array[3] = "Charlotte";
go_gos_array[4] = "Jane";

The following code adds a sixth element to the go_gos_array array and changes the second element:

go_gos_array[5] = "Donna";
go_gos_array[1] = "Nina"
trace(go_gos_array.join(" + "));
// Returns Belinda + Nina + Kathy + Charlotte + Jane + Donna.

See also

[] array access operator, length (Array.length property)


Flash CS3


Comments


No screen name said on Feb 28, 2008 at 7:53 AM :
I've found something I think is a bug/misbehavior in the Array constructor.
If one tries to create a new Array giving it arguments using the Array.pop() method from another Array, the resulting array will have it's elements in a backwards order.

Sample code:

var input:Array = "abcde".split("");
var myArr:Array = new Array(input.pop(), input.pop(), input.pop());
var res:String = myArr.join("");
trace(res);

Expected result:
"edc"

Actual result:
"cde"

In flash, I've tested this with Adobe Flash CS3, published swf was for Flash 8 and using ActionScript 2.0.

I've tried this same kind of operation in the Python interactive shell and with javascript on IE7 and Firefox browsers, which give the opposite, but in my opinion the expected, result.

 

RSS feed | Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/flash/9.0/main/00001353.html