為使個別陣列變得更容易存取,您可以將關聯陣列用於一週的日子,將索引陣列用於工作清單。使用關聯陣列,可讓您在要參考一週中的特定日子時使用點語法,但是在存取關聯陣列的每個元素時,就需要更多的執行處理時間。下列範例會使用關聯陣列做為工作清單的基礎,將索引鍵和值配對用於一週中的每一天:
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"];
點語法藉由避免使用多組方括號,使得程式碼更容易閱讀。
trace(masterTaskList.Wednesday[1]); // output: dentist
trace(masterTaskList.Sunday[0]);// output: mow lawn
您可以使用
for..in
迴圈重複執行工作清單,但是必須使用陣列存取 (
[]
) 運算子 (而非點語法) 來存取與每個索引鍵相關聯的值。由於
masterTaskList
是關聯陣列,因此元素不一定會按照您所預期的順序加以擷取,如下列範例所示:
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
*/