Cree una matriz asociativa con claves dinámicas en Actionscript 2
-
10-07-2019 - |
Pregunta
para un archivo XML, quiero crear una matriz en actionscript donde pueda hacer referencia a un valor particular con una clave que configuré en lugar de 0, 1, 2, etc.
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
}
Para poder acceder a los datos en una fecha posterior como esta:
// building description
trace( aBuildings[BUILDING1][property2] );
pero lo anterior no funciona, ¿qué me estoy perdiendo?
Solución
Comenzaría instanciando mi variable aBuildings como un objeto en lugar de una matriz:
var aBuildings = new Object();
A continuación, primero debe crear un Objeto para la clave en la que desea almacenar las propiedades.
aBuildings[key] = new Object();
aBuildings[key]["property1"] = currentBuilding.someOtherValue;
aBuildings[key]["property2"] = currentBuilding.aDifferentValue;
Entonces debería poder leer los valores del objeto aBuildings:
trace( aBuildings["BUILDING1"]["property2"] );
Tenga en cuenta que si BUILDING1 y property2 no son variables de cadena, debe usar literales de cadena.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow