본문 바로가기

Actionscript3.0

[AS3.0] Array 간단한 팁

Actionscript3.0 에서의 이중 배열을 만드는 방법은 여러가지가 있지만 전 이렇게 사용합니다. 

  1. var parent_arr:Array =new Array();
  2. var sub_arr1:Array = new Array();
  3. sub_arr1 = ["sub_1","sub_2","sub_3","sub_4","sub_5"];
  4.  
  5. var sub_arr2:Array = new Array();
  6. sub_arr2 = ["sub2_1","sub2_2","sub2_3","sub2_4","sub2_5"];
  7.  
  8. parent_arr = [sub_arr1,sub_arr2];
  9.  
  10. trace(parent_arr[0][0]);
  11. trace(parent_arr[0][1]);
  12. trace(parent_arr[0][2]);
  13. trace(parent_arr[0][3]);
  14. trace(parent_arr[0][4]);
  15. trace(parent_arr[1][0]);
  16. trace(parent_arr[1][1]);
  17. trace(parent_arr[1][2]);
  18. trace(parent_arr[1][3]);
  19.  
  20.   

parent_arr = [sub_arr1,sub_arr2]; 대신 아래 처럼 사용해도 됩니다.  

parent_arr.push(sub_arr1);

parent_arr.push(sub_arr2);  

이런식으로 사용하면 이중 배열 뿐아니라,  3,4중 배열도 가능하지 않을가요? 

그래서 해 봤습니다.. ㅎㅎ  

  1. var parent_arr:Array =new Array();
  2. var sub_arr1:Array = new Array();
  3. sub_arr1 = ["sub_1","sub_2","sub_3","sub_4","sub_5"];
  4.  
  5. var sub_arr2:Array = new Array();
  6. sub_arr2 = ["sub2_1","sub2_2","sub2_3","sub2_4","sub2_5"];
  7.  
  8. parent_arr = [sub_arr1,sub_arr2];
  9.  
  10. var sub_sub_arr:Array = new Array();
  11. sub_sub_arr = ["test0","test1"];
  12. //sub_arr1 의 5번째로 들어가게 됩니다.
  13. sub_arr1.push(sub_sub_arr);
  14. trace("sub_arr1[5] : "+sub_arr1[5]);
  15. trace("parent_arr[0][5][0] : "+parent_arr[0][5][0]);

이런식으로 하면 계속 몇차원이고 늘릴수 있을것 같습니다. 활용도는 떨어지겠지만..

이중 배열을 만드는 가장 간단한 방법은  

  1. var simple_arr:Array = new Array();
  2. simple_arr = [["0.0","0.1","0.2","0.3"],["1.0","1.1","1.2","1.3"]];
  3. trace(simple_arr[0][0]);
  4. trace(simple_arr[0][1]);
  5. trace(simple_arr[0][2]);
  6. trace(simple_arr[0][3]);
  7. trace(simple_arr[0][0]);
  8. trace(simple_arr[0][1]);
  9. trace(simple_arr[0][2]);
  10. trace(simple_arr[0][3]);

인거 같습니다. 보통 다른 언어에서는 [{},{}] 이렇게 쓰이곤 하는데 AS3.0 에서는 Syntax error가 발생하네요. 그래서 안되는 구나 했는데 쌩둥맞게 [[],[]] 로 하니깐 되네요.. 정말 없어서는 안될 Array 인거 같습니다.