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?

È stato utile?

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
scroll top