Создайте ассоциативный массив с динамическими ключами в Actionscript 2
-
10-07-2019 - |
Вопрос
для файла XML я хочу создать массив в ActionScript, где я могу ссылаться на определенное значение с помощью ключа, который я установил, а не 0, 1, 2 и т. д.
buildings = myParsedObjectFromXML;
var aBuildings = new Array();
for ( building in buildings ) {
var currentBuilding = buildings[building][0];
var key:String = currentBuilding.buildingCode;
aBuildings[key][property1] = currentBuilding.someOtherValue;
aBuildings[key][property2] = currentBuilding.aDifferentValue;
... etc
}
Чтобы я мог получить доступ к данным позже, например так:
// building description
trace( aBuildings[BUILDING1][property2] );
но вышеописанное не работает - что мне не хватает?
Решение
Я бы начал с создания экземпляра моей переменной aBuildings как объекта, а не как массива:
var aBuildings = new Object();
Затем вам нужно сначала создать объект для ключа, в котором вы хотите сохранить свойства.
aBuildings[key] = new Object();
aBuildings[key]["property1"] = currentBuilding.someOtherValue;
aBuildings[key]["property2"] = currentBuilding.aDifferentValue;
Тогда вы сможете прочитать значения из объекта aBuildings:
trace( aBuildings["BUILDING1"]["property2"] );
Помните, что если BUILDING1 и property2 не являются строковыми переменными, вам необходимо использовать строковые литералы.
Не связан с StackOverflow