자바스크립트의 splice() 메서드는 배열 객체에 사용할 수 있는 내장 메서드이다. 이는 기존 요소를 삭제하거나 교체하여 배열의 내용을 변경하며, 제거된 요소가 담긴 별도의 배열을 새로 반환
slice와 다른 점
splice는 매개변수는 배열의 변경을 시작할 인덱스를 지정한다.
let months = ["January", "February", "Monday", "Tuesday"];
let days = months.splice(2); // 인덱스 2부터 배열 변경
//["Monday", "Tuesday"]
deleteCount라는 두 번째 매개변수에 값을 전달하면 배열에서 제거할 요소의 수를 지정할 수도 있다.
let months = ["January", "February", "Monday", "Tuesday"];
let days = months.splice(2, 1); // 요소 하나만 삭제
console.log(days); // ["Monday"]
console.log(months); // ["January", "February", "Tuesday"]
세번째 인수부터 배열에 추가할 값들을 넣을 수 있다.
let months = ["January", "February", "Monday", "Tuesday"];
let days = months.splice(2, 2, "March", "April"); // 요소 두 개를 제외하고, 다른 요소를 추가
console.log(days); // ["Monday", "Tuesday"]
console.log(months); // ["January", "February", "March", "April"]
let months = ["January", "February", "Monday", "Tuesday"];
months.splice(2, 0, "March"); // 두 번째 매개변수가 0이므로 기존 요소 모두 유지
console.log(months);
// ["January", "February", "March", "Monday", "Tuesday"]
- start부터 deletCount만큼 삭제후, newItem 추가
Array.splice(start, deleteCount, newItem, newItem, newItem, ...)
- start에 newItem 추가
Array.splice(start,0,newItem..);