개별 배열에 보다 쉽게 액세스할 수 있도록 하기 위해, 요일에는 연관 배열을 사용하고 작업 목록에는 인덱스 배열을 사용할 수 있습니다. 연관 배열을 사용하면 특정 요일을 참조할 때 도트 구문을 사용할 수 있지만, 이 경우 연관 배열의 각 요소에 액세스하기 위한 런타임 처리 시간이 길어집니다. 다음 예제에서는 작업 목록의 기본으로 요일별 키/값 쌍이 있는 연관 배열을 사용합니다.
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
*/