본문 바로가기

TIL/자바스크립트

배열 slice와 splice [자바스크립트]

 

arr.slice(n, m) // javascript slice method

n에서 시작, m에서 끝. 다만 m은 포함하지 않음.

배열 인덱스보다 n이 크면 빈 배열 찍어냄.

n 음수 가능. 배열의 뒤에서부터 n번째까지 찍어냄.

m이 배열 인덱스보다 크면 끝까지 찍어냄. 

m도 음수 가능. 

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

slice를 해도 원래 배열은 영향을 받지 않음.


arr.splice(n, m) // splice method

n번째 요소부터 m개를 삭제

n 음수 가능. 배열의 뒤에서부터 n에 ~~

 

arr.splice(n, m, a, b)

n번째 요소부터 m개를 삭제하고 그 자리에 a, b를 삽입

m=0이면 요소를 삭제하지 않고 n번째부터 a, b를 삽입

 

splice는 삭제한 요소를 return 함.

var arr = ["사과", "오렌지", "참외", "토마토", "바나나"];

var removed = arr.splice(0, 2);

console.log(removed); // ["사과", "오렌지"]