5.0.
Introduction
Arrays are
essential to successful ActionScript programming.
An array provides a way of grouping related data
together, and then organizing and processing that data. The concept
of an array should not be foreign to you. In fact, the concept is
used all the time in everyday life. You can view a simple grocery
list or to-do list as an array. Your address book is an array
containing people's names, addresses, birthdates, and so on.
Libraries keep track of books using an indexing system whereby each
book becomes, conceptually, an element in a library's array.
In ActionScript, there are two kinds of arrays:
integer-indexed and associative. Both array types group related
data, but they use different means of accessing the data.
Integer-indexed array
-
Uses integers (numbers) as unique identifiers
for each element in the array. Such arrays are ordered by
index (i.e., element
number), starting from 0. Each element occupies a numbered slot in
the array. Integer-indexed arrays are ideal for sets of data that
you want to work with in sequential order.
Associative array
-
Uses string keys to access each value. You can read more about
associative arrays in Recipe
5.15.
|
Integer-indexed arrays are the focus of the
majority of the recipes in this chapter, and unless otherwise
specified, the term "array" refers to an integer-indexed array.
|
|
Of course, before you can use an array, you
first need to know how to create one. There are two ways to
construct a new array in ActionScript: with the constructor
function or as an array literal. All arrays are members of the
Array class. You can
use the Array( ) constructor function to instantiate new
array objects in one of three ways:
// Create an empty array.
var array:Array = new Array();
// Create an array with elements undefined elements.
var array:Array = new Array(elements);
// Create an array with specified elements.
var array:Array = new Array(element0,...elementN);
The array literal notation also creates a new
array, but without using the constructor function. Literal notation
is convenient for specifying elements at the time of creation, such
as:
var letters:Array = ["a", "b", "c"];
Some methods of the Array class modify
the existing array on which the method is called, and others return
a new array (offering an indirect way to create arrays).
You retrieve and set array elements using the
array-access operator (
square brackets) and the
index of the element you wish to get or set, for example:
// Set the fifth element of the array called items to "apples"
// (array indexes start at 0).
items[4] = "apples";
// Display the fifth element in the Output window.
trace(items[4]); // Displays: apples
ActionScript doesn't care what kind of values
you store in an array. You can store strings, numbers, Booleans, or
references to any kind of objects. And, unlike stricter programming
languages, you can even store different datatypes in a single
array. For example, this array stores a string, an integer, a
Boolean, and an object:
var data:Array = ["a", 2, true, new Object()];
Unlike many languages, ActionScript doesn't
force you to specify the number of elements in an array when it is
declared.
|