home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  

Book HomeActionScript: The Definitive GuideSearch this book

11.2. The Anatomy of an Array

Each item stored in an array is called an array element, and each has a unique number (index) by which we can refer to it.

11.2.2. Array Element Indexing

An element's position in the array is known as its index. Just as we can access the seventh character in a string, we can access the seventh element of an array via its index (in this case, the index is 6). We use an element's index to set or retrieve the element's value or to work with the element in various other ways. Some of the array-handling functions, for example, use element indexes to specify ranges of elements for processing.

We can also insert and delete elements from the beginning, end, or even middle of an array. An array can have gaps (that is, some elements may be absent). We may have elements at positions and 4, but nothing in positions 1, 2, and 3. Arrays with gaps are called sparse arrays.

11.2.3. Array Size

Every array contains a specific number of elements at any given point during its life span. The number of potential elements an array can hold is called the array's length, which we'll discuss later.

Arrays in Other Programming Languages

Almost every high-level computer language supports some sort of arrays or array-like entities. That said, there are differences in the ways arrays are implemented across different languages. For example, many languages do not allow arrays to contain differing types of data. In many languages, an array can contain numbers or strings, but not both in the same array. Interestingly, in C, there is no primitive string datatype. Instead, C has a single-character datatype named char ; strings are considered a complex datatype and are implemented as an array of char s!

In ActionScript, the size of an array will change automatically as items are added or removed. In many languages, the size of an array must be specified when the array is first declared or dimensioned (i.e., memory is allocated to hold the array's data). Lingo, the scripting language for Macromedia Director, refers to its arrays by the name lists. Like ActionScript, Lingo allows arrays to contain data values of differing types, and it will resize its arrays automatically as needed. Unlike ActionScript and C, in which the first item in an array is numbered (i.e., is zero-relative), the first item in a Lingo list is numbered 1 (i.e., is one-relative).

Languages differ as to what happens when you attempt to access an element outside the bounds (limits) of the array. ActionScript and Lingo will add elements if you attempt to set a value for an element beyond the existing bounds of the array. If you attempt to access an element outside the array bounds, ActionScript returns undefined, whereas it causes an error in Lingo. C pays no attention to whether you are accessing a valid element number. It lets you retrieve and set elements outside the bounds of the array, which usually causes you to overwrite other data in memory or access meaningless data that is not part of the array (C gives you plenty of rope with which to hang yourself).

Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.