AS3.0 Cookbook/배열2008. 7. 5. 20:05

앞서 정수색인 배열을 선언하고 대괄호를 통해 원소의 값을 추가하는 방법을 알아 보았다. 이번에는 배열의 제일 앞이나 제일 뒤에 원소를 추가/삭제하는 방법을 살펴도록 한다.


[ 추가 메서드 ]
var ary:Array = ["a" , "b" , "c" , "d"]
위와 같은 배열이 선언되었다고 할 때 0번 원소의 자리에 "A"을 추가한다.
ary.unshift("A")
trace(ary)
         // 출력 : A,a,b,c,d

그리고 제일 마지막 원소 뒤에 "B"를 추가하여 보자
ary.push("B")
trace(ary)       
// 출력 : A,a,b,c,d,B

* unshift 메서드
unshift배열의 제일 앞 원소인 0번째 자리에 값을 추가하고 배열의 새길이를 반환한다.
위의 코드에서 ary.unshift("A") 부분을 trace하면 5라는 값을 보여준다 이는 기존의 4개의 원소에서 A가 추가되어 길이가 늘어났음을 의미한다.

* push 메서드
push는 unshift와 반대로 제일 마지막 원소 뒤에 값을 추가하고 배열의 새길이를 반환한다.
trace (ary.push("B") )f라고 값을 추가하면서 확인하여 보면 역시 "B"가 추가된 배열의 길이 6을 나타낸다.

[ 삭제 메서드 ]
var ary:Array = ["a" , "b" , "c" , "d"]
위의 테스트와 같은 배열에 앞의 원소를 삭제하여 보자.
trace( ary.shift() )      // 출력 : a
trace( ary )               // 출력 : b , c , d

제일 마지막 원소를 삭제한다.
trace( ary.pop() )       // 출력 : d
trace( ary )              
// 출력 : a , b , c


* shift메서드
shift는 배열의 0번 원소를 추출하여 반환하고 해당 배열의 0번 원소를 삭제한다. 삭제된 배열은 한칸씩 앞으로 당겨져 채워진다.


* pop메서드
pop메서드는 shift와 반대로 배열의 제일 마지막 원소를 삭제하여 반환한다.

Posted by 버터백통