Para facilitar o acesso a matrizes individuais, você pode usar uma matriz associativa para os dias da semana e uma matriz indexada para as listas de tarefas. A matriz associativa permite usar a sintaxe de ponto ao fazer referência a um dia da semana específico, mas aumenta o tempo de processamento de tempo de execução para acessar cada elemento da matriz associativa. O exemplo a seguir usa uma matriz associativa como base de uma lista de tarefas, com um par de chave e valor para cada dia da 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"];
A sintaxe de ponto deixa o código mais legível, evitando vários conjuntos de colchetes.
trace(masterTaskList.Wednesday[1]); // output: dentist
trace(masterTaskList.Sunday[0]);// output: mow lawn
É possível percorrer a lista de tarefas usando um loop
for..in
, mas é necessário usar o operador de acesso à matriz (
[]
em vez da sintaxe de ponto para acessar o valor associado a cada chave. Como
masterTaskList
é uma matriz associativa, os elementos não são recuperados necessariamente na ordem esperada, como mostra o exemplo a seguir:
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
*/