Crea un array associativo con chiavi dinamiche in Actionscript 2
-
10-07-2019 - |
Domanda
per un file XML, voglio creare un array in ActionScript in cui posso fare riferimento a un valore particolare con una chiave impostata anziché 0, 1, 2 ecc.
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
}
In modo da poter accedere ai dati in un secondo momento come questo:
// building description
trace( aBuildings[BUILDING1][property2] );
ma quanto sopra non funziona - cosa mi sto perdendo?
Soluzione
Vorrei iniziare istanziando la mia variabile aBuildings come un oggetto piuttosto che un array:
var aBuildings = new Object();
Successivamente, è necessario creare prima un oggetto per la chiave in cui si desidera memorizzare le proprietà.
aBuildings[key] = new Object();
aBuildings[key]["property1"] = currentBuilding.someOtherValue;
aBuildings[key]["property2"] = currentBuilding.aDifferentValue;
Quindi dovresti essere in grado di leggere i valori dall'oggetto aBuildings:
trace( aBuildings["BUILDING1"]["property2"] );
Tieni presente che se BUILDING1 e property2 non sono variabili String, devi utilizzare valori letterali String.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow