상세 컨텐츠

본문 제목

[AS] 플래시 AS3.0 이차원(다차원) 배열 관련

ADOBE/ ActionScript

by AlrepondTech 2020. 9. 18. 07:13

본문

반응형

 

 

 

 

=================================

=================================

=================================

 

 

 

 

 

 

출처: http://yawoong.com/board/zboard.php?id=qna_flash&page=1&sn1=&divpage=2&sn=off&ss=on&sc=on&keyword=%B9%E8%BF%AD&select_arrange=headnum&desc=asc&no=8357


전 Array 의 Array 로 정의합니다. 
arr = new Array(); 
for (i = 0; i < MAX; i++) { 
arr[i] = new Array(); 
} 
일케 해주면 arr[10][20] 과 같은 접근이 가능합니다. 물론 row 를 MAX 
이상의 값으로 쓰고 싶으실 때는 push 해주시면 되게꾸요...

 

 

=================================

=================================

=================================

 

 



출처: http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/Array.html


패키지 최상위
클래스 public dynamic class Array
상속 Array  Object
언어 버전 :  ActionScript 3.0
Player 버전 :  Flash Player 9

Array 클래스를 사용하면 배열에 액세스하고 배열을 조작할 수 있습니다. 배열 인덱스는 0부터 시작합니다. 즉 배열의 첫 번째 요소는 [0]이고 두 번째 요소는 [1]입니다. Array 객체를 만들려면 new Array() 생성자를 사용합니다. Array()를 함수로 호출할 수도 있습니다. 또한 배열 액세스 연산자([])를 사용하여 배열을 초기화하거나 배열 요소에 액세스할 수 있습니다.

배열 요소에는 숫자, 문자열, 객체, 다른 배열 등 다양한 데이터 유형을 저장할 수 있습니다. 인덱싱된 배열을 만든 다음 이 배열의 각 요소에 인덱싱된 다른 배열을 할당하면 다차원 배열을 만들 수 있습니다. 이러한 배열은 표 형식의 데이터를 나타내는 데 사용할 수 있으므로 다차원 배열로 간주됩니다.

배열은 성긴 배열입니다. 즉, 인덱스 0에 요소가 있고 인덱스 5에 다른 요소가 있지만 두 요소 사이의 인덱스 위치에는 요소가 없을 수도 있습니다. 이러한 경우 위치 1에서 4 사이의 요소는 정의되지 않습니다. 이는 값이 undefined인 요소가 있다는 의미일 수도 있지만 요소가 없다는 의미일 수도 있습니다.

배열에는 값에 의한 할당이 아닌 참조에 의한 할당이 사용됩니다. 배열 변수 하나를 다른 배열 변수에 할당하면 두 변수가 같은 배열을 참조하게 됩니다.

var oneArray:Array = new Array("a", "b", "c"); var twoArray:Array = oneArray; // Both array variables refer to the same array. twoArray[0] = "z"; trace(oneArray); // Output: z,b,c.

Array 클래스를 사용하여 번호가 매겨진 요소 대신 명명된 요소가 들어 있는 데이터 구조인 연결 배열(해시) 을 만들지 마십시오. 연결 배열을 만들려면 Object 클래스를 사용해야 합니다. ActionScript에서 Array 클래스를 사용하여 연결 배열을 만들 수는 있지만 이렇게 하면 연결 배열에 Array 클래스 메서드나 속성을 사용할 수 없습니다.

Array 클래스를 확장하여 메서드를 재정의하거나 추가할 수 있습니다. 그러나 이때 하위 클래스를 dynamic으로 지정해야 합니다. 그렇지 않으면 배열에 데이터를 저장할 수 없게 됩니다.

 

 

 

 

=================================

=================================

=================================

 

 






출처: http://flashfriend.tistory.com/433

다차원 배열을 Array로 만들어보고 Object로도 만들어 보았는데,
재밌는 현상이 일어났네요..


1차실험

 





3차원까지 배열과 동적속성을 만들어 본 결과, Array가 Object보다 2배 정도 느립니다.
하지만 값을 생성할때와 사용할때는 속도가 다를 수도 있어요.
아래를 봐주세요.



2차실험




값을 만들때에는 Object가 더 빨랐는데, 사용할때는 Array가 월등히 빠릅니다.
그럼 대괄호[ ]를 사용하지 않고 .(점)을 사용해서 동적속성을 만든 경우는 어떨까요?




3차실험


속성을 만들때에는 Object가 가장 빨랐습니다.
혹시나 해서 Array로도 .(점)을 사용하여 동적속성을 만들어 보았으나, Object처럼 빠르지 않았습니다.

하지만 이번 경우에도 값을 사용할때에는 Array가 가장 빨랐습니다.
Array라 하더라도 .(점)을 사용하여 값을 사용한 경우는 Object보다 빠르지 않았습니다.

 

 

=================================

=================================

=================================

 

 

 

 

 

반응형


관련글 더보기

댓글 영역