Om du vill göra enskilda arrayer enklare att komma åt ska du använda en associativ array för veckodagarna och en indexerad array för uppgiftslistan. När du använder associativa arrayer kan du använda punktsyntaxen för att referera till en speciell veckodag, men till kostnad av extra bearbetningskapacitet för att komma åt elementen i den associativa arrayen. I följande exempel används en associativ array som bas för en uppgiftslista, med ett nyckel- och värdepar för varje veckodag:
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"];
Punktsyntaxen gör koden mer läsvänlig eftersom du inte behöver använda flera uppsättningar hakparenteser.
trace(masterTaskList.Wednesday[1]); // output: dentist
trace(masterTaskList.Sunday[0]);// output: mow lawn
Du kan iterera igenom uppgiftslistan med hjälp av en
for..in
-slinga, men du måste använda operatorn för arrayåtkomst (
[]
) i stället för punktsyntax för att få åtkomst till värdet som associeras med respektive nyckel. Eftersom
masterTaskList
är en associativ array hämtas elementen inte nödvändigtvis i den ordning som du förväntar dig, vilket framgår av nästa exempel:
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
*/