# [] (array access)

#### Availability

Flash Player 4.

#### Usage

    my_array = ["a0", a1,...aN];
    myMultiDimensional_array = [["a0",...aN],...["a0",...aN]]
    my_array[E] = value
    myMultiDimensional_array[E][E] = value
    object["value"];

#### Parameters

`my_array` The name of an array.

`a0, a1,...aN` Elements in an array.

`myMultiDimensional_array` The name of a simulated multidimensional array.

`E` `` The number (or index) of an element in an array.

`object` The name of an object.

`value` A string or an expression that evaluates to a string that names a property of the object.

#### Returns

Nothing.

#### Description

Operator; 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).

    employee = [15, "Barbara", "Erick"];

Usage 2: You can nest brackets to simulate multidimensional arrays. The following code creates an array called `ticTacToe` with three elements; each element is also an array with three elements.

    ticTacToe = [[1,2,3],[4,5,6],[7,8,9]];

    // choose Debug > List Variables in test movie mode
    // to see a list of the array elements

Usage 3: Surround the index of each element with brackets to access it directly; you can add a new element to an array, change or retrieve the value of an existing element. The first element in an array is always 0:

    my_array[0] = 15;
    my_array[1] = "Hello";
    my_array[2] = true;

You can use brackets to add a fourth element, as in the following:

    my_array[3] = "George";

Usage 4: 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 line of code sends the number 6 to the Output window.

    ticTacToe = [[1,2,3],[4,5,6],[7,8,9]];
    trace(ticTacToe[1][2]);

    // returns 6

Usage 5: 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:

    name["mc" + i] = "left_corner";

#### Example

Usage 1: The following code samples show two different ways of creating a new empty Array object; the first line uses brackets.

    my_array =[];
    my_array = new Array();

Usage 1 and 2: The following example creates an array called `employee_array` and uses the `trace` action to send the elements to the Output window. In the fourth line, an element in the array is changed and the fifth line sends the newly modified array to the Output window:

    employee_array = ["Barbara", "George", "Mary"];
    trace(employee_array);
    // Barbara, George, Mary
    employee_array[2]="Sam";
    trace(employee_array);
    // Barbara, George, Sam

Usage 3: 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 will be displayed in the Output window:

    on(release){
    	x = my_mc["piece"+i];
    	trace(x);
    }

Usage 3: In the following code, 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.A" & i);

Usage 3: You can also use the array access operator on the left side of an assignment statement to dynamically set instance, variable, and object names:

    name[index] = "Gary";

#### See also

Array object, Object object, `eval`