반응형

자바스크립트 배열에 요소들을 추가 혹은 제거할 때,

또 원하는 영역을 빼올 때 쓰는 메소드가 있다.

 

1. 배열에 요소 추가 (push(), unshift())

push, unshift는 배열에 원하는 요소들을 추가하는 메소드이다.

 

- push() : 배열의 끝에 요소 추가

- unshift() : 배열의 앞에 요소 추가

var arr01 = [1, 2, 3, 4, 5];

arr01.push(6, 7);
// arr01 = [1, 2, 3, 4, 5, 6, 7]

arr01.unshift('a', 'b', 'c');
// arr01 = ['a', 'b', 'c', 1, 2, 3, 4, 5, 6, 7]

 

2. 배열에서 요소 제거 (pop(), shift())

pop, shift는 배열의 앞이나 뒤에서 요소를 제거하는 메소드이다.

 

- pop() : 배열의 마지막 요소 제거

- shift() : 배열의 첫 번째 요소 제거

var arr02 = [1, 2, 3, 4, 5];

arr02.pop();
// arr02 = [1, 2, 3, 4]

arr02.shift();
// arr02 = [2, 3, 4]

 

3. 원하는 영역만큼 제거 (splice())

splice 메소드는 배열에서 원하는 영역만큼을 제거할 수 있다.

 

- splice(pos, length) : pos번째 부터 length까지 요소 제거

var arr03 = [1, 2, 3, 4, 5];

var splice = arr03.splice(1, 3);
// splice = [2, 3, 4]
// arr03 = [1, 5]

 

4. 원하는 영역만큼 복제하여 잘라내기 (slice())

slice 메소드는 splice 메소드와는 다르게 

원하는 영역만큼 요소를 제거하는 것이 아니라 

복제를 할 수 있다.

 

- slice(pos, lastpos) : pos(첫 위치) 부터 lastpos(마지막 위치) 만큼 잘라오기

var arr04 = [1, 2, 3, 4, 5, 6, 7];

var slice = arr04.slice(5);
// slice = [6, 7]
// arr04 = [1, 2, 3, 4, 5, 6, 7]

var slice02 = arr04.slice(2, 5);
// slice02 = [3, 4, 5]
// arr04 = [1, 2, 3, 4, 5, 6, 7]

var slice03 = arr04.slice(4, -1);
// slice03 = [5, 6]
// arr04 = [1, 2, 3, 4, 5, 6, 7]

* slice(pos) 처럼 한 숫자만 입력할 경우 시작점부터 끝까지 복제

* lastpos 값까지 복제 하는 것이 아니라 lastpos 값 바로 앞 위치 값까지 복제

* slice(pos, -lastpos) 처럼 마지막 위치 값이 -(음수) 일 경우 뒤에서 부터 계산

 

 

반응형

+ Recent posts