Создать ассоциативный массив с массивами в качестве значений - PullRequest
0 голосов
/ 11 декабря 2019

В CS4 я пытаюсь создать ассоциативный массив, где значения являются массивами. Эти массивы имеют только два элемента, и я хочу назвать один из этих двух элементов следующим образом:

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

Однако это не выводит первый элемент. Любопытно, что если вы опустите «[0]», программа напечатает весь массив следующим образом: «5, Пример строки».

Как бы я распечатал только один элемент из массива, который находится внутри ассоциативногомассив.

1 Ответ

1 голос
/ 11 декабря 2019

В вашем операторе доступа в квадратных скобках неверная последовательность аргументов [] . Вам необходимо использовать правильные обозначения:

// 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]]);
...