소년코딩

배열이 '다른 데이터 구조'인 듯 동작하게 하는 메서드다. 


1. 스택 메서드

스택은 LIFO(Last-In-First-Out)[후입선출] 구조라고 불리며 데이터를 추가할 때마다 데이터 마지막에 추가되고 삭제할 때 마지막에 추가된 데이터가 먼저 삭제된다.

스택에서는 데이터 삽입(push)과 제거(pop)는 스택의 맨 위 단 한지점에서만 발생한다.

자바스크립트 배열에서는 push()와 pop()메서드가 있어 마치 스택처럼 동작한다.

  • push(): 매개변수 숫자에 제한이 없으며 받은 매개변수를 그대로 배열의 마지막에 추가한 후 늘어난 배열길이를 반환한다.
  • pop(): 반대로 배열의 마지막 데이터를 꺼내서 반환하며, 배열의 길이는 1만큼 줄어든다.
var colors = ['red', 'blue'];
console.log(colors.length);      // 2
 
colors.push('brown');            // 배열의 마지막에 데이터 추가
console.log(colors.length);      // 4
console.log(colors);             // ['red', 'blue', 'brown']
 
var item = colors.pop();         // 배열의 마지막 데이터 꺼냄
console.log(colors);             // ['red', 'blue']
console.log(item);               // 'brown

2. 큐 메서드

큐는 FIFO(First-In-First-Out)[선입선출] 구조이며 목록 마지막에 데이터를 추가하며, 목록 맨앞에서 데이터를 삭제한다. pop() 메서드는 배열 마지막에 데이터를 추가하므로 배열이 큐처럼 동작하게 하려면 배열의 첫 번째 데이터를 꺼내는 메서드인 shfit() 메서드를 사용하면 된다.

  • shift(): 배열의 첫 번째 데이터를 꺼내서 반환하며 배열 길이는 1만큼 줄어든다.
var colors = new Array();                 // 배열 생성
var count = colors.push('red', 'green')   // 데이터 2개 추가
console.log(count);                       // 2
 
count = colors.push('blue');              // 배열의 마지막에 데이터 추가
console.log(count);                       // 3
 
var item = colors.shift();                  // 배열의 첫번째 데이터 꺼냄
console.log(item);                        // 'red'
console.log(colors.length);               // 2

 

자바스크립트

by 소년코딩

추천은 글쓴이에게 큰 도움이 됩니다.

악플보다 무서운 무플, 댓글은 블로그 운영에 큰 힘이됩니다.

댓글 로드 중…

블로그 정보

소년코딩 - 소년코딩

소년코딩, 자바스크립트, C++, 물리, 게임 코딩 이야기

최근에 게시된 이야기