Flash CS3 Documentation |
|||
| ActionScript 2.0 Language Reference > ActionScript language elements > Operators > [] array access operator | |||
myArray = [ a0, a1,...aN ] myArray[ i ] = value myObject [ propertyName ]
Initializes a new array or multidimensional array with the specified elements (a0, and so on), or accesses elements in an array. The array access operator lets you dynamically set and retrieve instance, variable, and object names. It also lets you access object properties.
Usage 1: An array is an object whose properties are called elements, which are each identified by a number called an index. When you create an array, you surround the elements with the array access ([]) operator (or brackets). An array can contain elements of various types. For example, the following array, called employee, has three elements; the first is a number and the second two are strings (inside quotation marks):
var employee:Array = [15, "Barbara", "Jay"];
You can nest brackets to simulate multidimensional arrays. You can nest arrays up to 256 levels deep. The following code creates an array called ticTacToe with three elements; each element is also an array with three elements:
var ticTacToe:Array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; // Select Debug > List Variables in test mode // to see a list of the array elements.
Usage 2: Surround the index of each element with brackets ([]) to access it directly; you can add a new element to an array, or you can change or retrieve the value of an existing element. The first index in an array is always 0, as shown in the following example:
var my_array:Array = new Array(); my_array[0] = 15; my_array[1] = "Hello"; my_array[2] = true;
You can use brackets ([]) to add a fourth element, as shown in the following example:
my_array[3] = "George";
You can use brackets ([]) to access an element in a multidimensional array. The first set of brackets identifies the element in the original array, and the second set identifies the element in the nested array. The following lines of code send the number 6 to the Output panel.
var ticTacToe:Array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; trace(ticTacToe[1][2]);// output: 6
Usage 3: You can use the array access ([]) operator instead of the eval() function to dynamically set and retrieve values for movie clip names or any property of an object. The following line of code sends the number 6 to the Output panel.
name["mc" + i] = "left_corner";
Availability: ActionScript 1.0; Flash Player 4
myArray : Object - myArray The name of an array.
a0, a1,...aN : Object - a0,a1,...aN Elements in an array; any native type or object instance, including nested arrays.
i : Number - i An integer index greater than or equal to 0.
myObject : Object - myObject The name of an object.
propertyName : String - propertyName A string that names a property of the object.
Object -
Usage 1: A reference to an array.
Usage 2: A value from the array; either a native type or an object instance (including an Array instance).
Usage 3: A property from the object; either a native type or an object instance (including an Array instance).
The following example shows two ways to create a new empty Array object; the first line uses brackets ([]):
var my_array:Array = []; var my_array:Array = new Array();
The following example creates an array called employee_array and uses the trace() statement to send the elements to the Output panel. In the fourth line, an element in the array is changed, and the fifth line sends the newly modified array to the Output panel:
var employee_array = ["Barbara", "George", "Mary"]; trace(employee_array); // output: Barbara,George,Mary employee_array[2] = "Sam"; trace(employee_array); // output: Barbara,George,Sam
In the following example, the expression inside the brackets ("piece" + i ) is evaluated and the result is used as the name of the variable to be retrieved from the my_mc movie clip. In this example, the variable i must live on the same Timeline as the button. If the variable i is equal to 5, for example, the value of the variable piece5 in the my_mc movie clip is displayed in the Output panel:
myBtn_btn.onRelease = function() {
x = my_mc["piece"+i];
trace(x);
};
In the following example, the expression inside the brackets is evaluated, and the result is used as the name of the variable to be retrieved from movie clip name_mc:
name_mc["A" + i];
If you are familiar with the Flash 4 ActionScript slash syntax, you can use the eval() function to accomplish the same result:
eval("name_mc.A" & i);
You can use the following ActionScript to loop over all objects in the _root scope, which is useful for debugging:
for (i in _root) {
trace(i+": "+_root[i]);
}
You can also use the array access ([]) operator on the left side of an assignment statement to dynamically set instance, variable, and object names:
employee_array[2] = "Sam";
Flash CS3
Send me an e-mail when comments are added to this page | Comment Report
Current page: http://livedocs.adobe.com/flash/9.0/main/00001250.html