AS3.0 Cookbook/배열2008. 7. 20. 14:00

hash table은 원소의 번호가 달리없이 키로만 구성되어 있으므로 정수색인 배열처럼 for를 사용하여 원소로 접근할 수 가 없다. 따라서 키를 검사하는  for in문을 사용한다. for in문은 선택된 연관배열의 키를 특변 변수에 담아 그 이름과 값을 검색할 수 있다.

* for in 선언법
for( key  in Object ){
   // Action
}


가령 다음과 같은 도서 데이터를 검사할 수 있고 이들을 배열에 넣어서 sortOn을 하여 필요한 데이터로 정렬 또는 가공할 수 있다.
var book1:Object = { "writer":"이외수" , "title":"사람사는 마을", "cost":10000  };
var book2:Object = { "writer":"박한별" , "title":"연예계 생활", "cost":5000  };
var book3:Object = { "writer":"브루스" , "title":"men of world", "cost":18000  };
var book4:Object = { "writer":"오라일리" , "title":"cool codes", "cost":28000  };
for (var i:int=1; i<=4; i++) {
 for ( var atrb:String in this["book" + i] ) {
  trace( atrb , ":" , this["book"+i][atrb] );
 }
}


출력
cost : 10000
title : 사람사는 마을
writer : 이외수
cost : 5000
title : 연예계 생활
writer : 박한별
cost : 18000
title : men of world
writer : 브루스
cost : 28000
title : cool codes
writer : 오라일리

* for in 문은 내장된 속성까지 보여주지 않는다.

Posted by 버터백통