상세 컨텐츠

본문 제목

[AS] 액션스크립트 - push() unshift()

ADOBE/ ActionScript

by AlrepondTech 2014. 8. 19. 17:58

본문

반응형

 

 

 

 

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

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

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

 

 

 

 

 

 

출처: http://blog.naver.com/finale4768/130140363188

 

 

push() 메소드를 이용하여 배열의 끝에 원소를 추가할 수 있으며, unshift() 메소드를 사용하여 배열의 처음에 원소를  

 

추가할 수 있다. 

 

 

 

 

Array.push() 메소드를 사용해서 하나 이상의 값을 배열의 끝에 추가할 수 있다. 

 

var array:Array = new Array();

 

array.push("val 1", "val 2");

 

배열의 length 속성을 인덱스로 이용해도 원소를 추가할 수 있다. 액션스크립트 배열 인덱스는 0부터 시작하기 때문에

 

마지막 원소의 인덱스는 Array.length - 1이 된다. 그러므로 Array.length를 인덱스로 가지는 배열에 값을 추가하면

 

현재 배열의 가장 마지막에 값이 추가된다.

 

array[array.length] = "val 3";

 

 

 

존재하지 않는 인덱스에 값을 설정하면 배열은 자동으로 자신의 원소를 해당 인덱스만큼 늘린다.

 

만약 중간에 정의되지 않는 부분이 있다면 그곳은 자동으로 undefined로 초기화 된다.

 

다음의 배열 letters는 ["a", "b", "c", undefined, undefined, "f"] 와 같은 원소를 가지게 된다.

 

var letters:Array = ["a", "b", "c"];

letters[5] = "f";

 

 

 

 

 

 

배열에 원소를 추가하는 것은 증가하는 배열을 만들거나 히스토리 구현을 위해 사용자의 행동을 저장할때 유용하게 사용된다.

 

원소를 배열의 처음에 추가하기 위해서는 unshift()메소드를 사용한다. 이 메소드는 현재의 배열을 하나의 인덱스 위치만큼

 

뒤로 이동시키고 새로운 원소를 0번 인덱스에 넣는다.

 

//4개의 원소를 가지는 배열을 만든다

//"a", "b", "c", "d"

 

var letter:Array = new Array();

letters.push("a", "b", "c", "d");

 

//배열의 시작에 "z"를 추가한다.

//이 문장은 모든 배열을 1씩 뒤로 이동시킨다.

//따라서 "a"의 인덱스는 0에서 1이 된다.

 

letters.unshift("z");

 

//순환문을 돌면서 배열의 원소를 출력한다.

 

for( var i:int = 0; i < letters.length; i++)

{

    trace(letters[i]);

}

 

원소의 값은 배열의 처음과 끝 중 어디에 추가하는 것이 좋을까? 이것은 일반적으로 자료구조를 어떻게 이용하는지에

 

따라 다르다.

 

선입 선출 (FIFO)을 이용한다면 unshift() 메소드(추가)와 pop() 메소드(삭제)를 사용하고, 후입 선출(LIFO)을 이용한다면

 

push() 메소드(추가)와 메소드(삭제)를 사용하면 된다.

 

 

 

 

 

 

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

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

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

 

 

반응형


관련글 더보기

댓글 영역