본문 바로가기

카테고리 없음

[JAVASCRIPT] 배열 내장 함수 splice와 slice

이름도 기능도 비슷해서 항상 헷갈리는 내장함수중 하나다.

둘다 기존 배열에서 항목을 잘라낼 때 사용한다.


차이점은 기존의 배열자체를 잘라내는지 아니면 새로운 배열을 만들어내는지이다.


splice

splice(자르기 시작할 항목의 index, 자르기 시작할 항목에서부터 뒤쪽으로 잘라낼 항목의 갯수)


const numbers = [10, 20, 30, 40];

const index = numbers.indexOf(30);

const spliced = numbers.splice(index, 2);

console.log(spliced);

console.log(numbers);

=> [30, 40]

=> [10, 20]


splice를 사용하자 기존의 numbers배열 자체가 수정됐다.


slice

slice(자르기 시작할 항목의 index, 마지막으로 잘라낼 항목 idex+1);


const numbers = [10, 20, 30, 40];

const sliced = numbers.slice(0, 2);

console.log(sliced);

console.log(numbers);

=> [10, 20]

=> [10, 20, 30, 40]


slice를 사용해도 기존의 numbers배열은 수정되지 않는다.


상황에 맞는 함수를 사용하면 된다.