简体   繁体   中英

Create associative array with arrays as values

In cs4 I am attempting to create an associative array where the values are arrays. These arrays have just two elements and I want to call one of these two elements like this:

var array1:Array = [5, "Example String"]
var array2:Array = [7, "Example String 2"]
var associativeArray:Object = {a1:array1, a2:array2}

trace(associativeArray[a1[0]]) // Print out the value of the first element of the first array. Should print out 5

However this does not print out the first element. Curiously if you omit the "[0]" the program does print the entire array like this: "5, Example String".

How would I go about printing just one element from the array which is inside the associative array.

The sequence of arguments is wrong in your square bracket access operator [ ] . You need to use the correct notation:

// The whole collection.
trace(associativeArray);

// The collection element, square bracket notation.
// The key MUST be a String.
trace(associativeArray["a1"]);

// The collection element, dot notation.
trace(associativeArray.a1);

// Access the element of collection element.
trace(associativeArray["a1"][0]);
trace(associativeArray.a1[0]);

// WRONG. Access non-existent element of the collection.
trace(associativeArray[a1[0]]);
trace(associativeArray["a1"[0]]);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM