View Single Post
  #2 (permalink)  
Old 09-21-2007, 04:47 AM
aramesh aramesh is offline
D-Web Programmer
 
Join Date: Mar 2007
Posts: 72
aramesh is on a distinguished road
Default Re: Three dimensional array

Hi,
Multidimensional arrays can be thought of as matrices, or grids. A chess board is a grid of 8 columns and rows. In programming, multidimensional arrays can be used to model these types of structures. The following array, twoD_Array, consists of two array elements that are themselves arrays consisting of two elements:

twoD_Array = new Array(new Array("one","two"), new Array("three", "four"));

In this case, twoD_Array is the "main" array containing two nested arrays.

Nested for loops can be used to quickly create multidimensional arrays. For example, the following script creates a 5 x 5 array and sets the value of each array node to its index:

mainArray = new Array(5);
for(i=0; i<5; i++) {
mainArray[i] = new Array(5);
for(j=0; j<5; j++) {
mainArray[i][j] = "[" + i + "][" + j + "]";
}
}

Retrieving array elements

To retrieve elements of a multidimensional array, you use multiple array access operators [] after the name of the top-level array. The first [] refers to the index of the top level array. Subsequent []'s refer to elements of nested arrays. Using twoD_Array as an example:

twoD_Array[0][0]
twoD_Array[1][1]

Nested for loops can be used to iterate through the elements of a multidimensional array. In the following example, the outer loop loops through each element of mainArray. The inner loop iterates through each nested array and outputs each array node. The length property of each array is used as the loop condition:

outerArraylength = mainArray.length;
for(i=0; i < outerArraylength; i++) {
innerArrayLength = mainArray[i].length;
for(j=0; j < innerArraylength; j++){
trace(mainArray[i][j]);
}
}


<aramesh>
Reply With Quote