Para facilitar el acceso a los conjuntos individuales, se puede utilizar un conjunto asociativo para los días de la semana y un conjunto indexado para las listas de tareas. El uso de un conjunto asociativo permite utilizar la sintaxis con punto al hacer referencia a un día específico de la semana, pero a cambio hay un procesamiento adicional en tiempo de ejecución para acceder a cada elemento del conjunto asociativo. En el ejemplo siguiente se utiliza un conjunto asociativo como la base de una lista de tareas, con un par clave-valor para cada día de la semana:
var masterTaskList:Object = new Object();
masterTaskList["Monday"] = ["wash dishes", "take out trash"];
masterTaskList["Tuesday"] = ["wash dishes", "pay bills"];
masterTaskList["Wednesday"] = ["wash dishes", "dentist", "wash dog"];
masterTaskList["Thursday"] = ["wash dishes"];
masterTaskList["Friday"] = ["wash dishes", "clean house"];
masterTaskList["Saturday"] = ["wash dishes", "wash car", "pay rent"];
masterTaskList["Sunday"] = ["mow lawn", "fix chair"];
La sintaxis con punto facilita la lectura del código al evitar la necesidad de utilizar varios juegos de corchetes.
trace(masterTaskList.Wednesday[1]); // output: dentist
trace(masterTaskList.Sunday[0]);// output: mow lawn
Puede repetir la lista de tareas utilizando un bucle
for..in
, pero debe utilizar el operador de acceso a conjunto (
[]
) en lugar de la sintaxis de puntos para acceder al valor asociado a cada clave. Como
masterTaskList
es un conjunto asociativo, los elementos no se recuperan necesariamente en el orden esperado, como se muestra en el siguiente ejemplo:
for (var day:String in masterTaskList)
{
trace(day + ": " + masterTaskList[day])
}
/* output:
Sunday: mow lawn,fix chair
Wednesday: wash dishes,dentist,wash dog
Friday: wash dishes,clean house
Thursday: wash dishes
Monday: wash dishes,take out trash
Saturday: wash dishes,wash car,pay rent
Tuesday: wash dishes,pay bills
*/