'2차원 배열'에 해당되는 글 1건

  1. 2008.07.13 다차원 배열의 선언
AS3.0 Cookbook/배열2008. 7. 13. 18:27

배열을 만들 때는 가독성있게 값을 참조하기 위해 연관배열을 사용한다. 연관배열은 Object라는 클래스로 이름과 값을 같이 저장하는 배열을 말하는데 가령 자동차 회사에서 연식과 색상 제조회사에 대한 데이터를 아래와 같이 만들었다고 할 때 이 값들을 참조하기 위해서는 알수 없는 숫자들로만 참조해야 한다.
var car:Array = [];
car.push(["은색" , "2000년식" , "대우"]);
car.push(["흰색" , "2003년식" , "현대"]);
car.push(["빨강색" , "1998년식" , "현대"]);
car.push(["파랑색" , "20002년식" , "기아"]);

var len:int = car.length;
for (var i:int=0; i<len; i++) {
 trace(car[i][0] + "   " + car[i][1] + "    " + car[i][2]);
}

출력 :
은색   2000년식    대우
흰색   2003년식    현대
빨강색   1998년식    현대
파랑색   20002년식    기아


위처럼 누군가가 이 코드를 보면서 어떤 데이터가 있는 추측하기란 실행전까진 쉽지않다. 따라서 원소의 이름을 붙인 연관배열을 정수색인 배열에 포함하여 그 값을 유추하기 쉽도록 바구어 보자.
var car:Array = [];
car.push({color:"은색" , year:"2000년식" , maker:"대우"});
car.push({color:"흰색" , year:"2003년식" , maker:"현대"});
car.push({color:"빨강색" , year:"1998년식" , maker:"현대"});
car.push({color:"파랑색" , year:"20002년식" , maker:"기아"});

var len:int = car.length;
for (var i:int=0; i<len; i++) {
 trace(car[i].color + "   " + car[i].year + "    " + car[i].maker);
}
출력 :
은색   2000년식    대우
흰색   2003년식    현대
빨강색   1998년식    현대
파랑색   20002년식    기아

이처럼 연관배열을 사용하면 2차 3차원 그 이상의 배열일지라도 무섭지 않다!! 뭐 심하게 다차원이라면 싫지만요..

* 연관배열은 중괄호 {}로서 그 값을 설정한다.
var num:Object = { name:"홍길동" , ....}
중괄호( {} )안의 내용은 네임탭과 값 그리고 나열은 정수색인 배열처럼 컴머를 기준으로 나열된다.

Posted by 버터백통