배열이 '다른 데이터 구조'인 듯 동작하게 하는 메서드다.
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 소년코딩
추천은 글쓴이에게 큰 도움이 됩니다.
악플보다 무서운 무플, 댓글은 블로그 운영에 큰 힘이됩니다.