#apache-flex #flex4
#apache-flex #flex4
Вопрос:
У меня есть массив следующим образом.
var array:Array = new Array();
array["Circle"] = 1;
array["Rect"] = 2;
Я хочу прочитать значения с помощью переменной.
var key:String = "Circle";
trace(array[key]);
Кто-нибудь может подсказать мне, как этого добиться. Необязательно использовать только массив. Я могу переключиться на любую коллекцию, в которой это возможно.
Комментарии:
1. Чего именно вы хотели бы достичь. Вы хотите, чтобы какой-нибудь код перебирал все пары ключ-значение вашей карты?
2. Мне кажется, что вы уже поняли это.
Ответ №1:
Использовать Object
или Dictionary
:
var obj:Object = new Object();
obj["Circle"] = 1;
obj["Rect"] = 2;
// alternative initialization - only for Object
obj = {Circle: 1, Rect: 2};
for (var key:String in obj)
{
trace("key:", key, ",", "value:" obj[key]);
}
// output:
// key: Circle , value: 1
// key: Rect , value: 2
for each (var value:Object in obj)
{
trace(value);
}
// output:
// 1
// 2