Array.prototype.splice()
메서드는 배열의 기존 요소들을 삭제, 수정, 또는 새 요소를 추가하는데 사용됩니다. 이 메서드는 원본 배열을 직접 수정하며, 변경한 요소들로 구성된 새 배열을 반환합니다.
splice()
메서드의 사용법은 다음과 같습니다:
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
start
: 배열에서 변경을 시작할 인덱스를 지정합니다. 음수일 경우 배열의 끝에서부터 인덱싱합니다.deleteCount
(optional): 삭제할 요소의 수를 지정합니다. 생략하거나 배열의 길이를 넘어가는 수를 지정하면, start
부터 끝까지의 모든 요소를 삭제합니다.item1, item2, ...
(optional): 배열에서 삭제된 요소 대신 삽입할 요소를 지정합니다. 없으면 요소를 삽입하지 않습니다.start
인덱스를 계산합니다. 음수일 경우 array.length
에 더합니다.deleteCount
를 계산합니다. 생략되면, array.length - start
로 설정합니다. 그렇지 않으면 에러 검사를 진행하고, 최대 array.length - start
로 제한합니다.item1, item2, ...
가 있다면, start
인덱스에 삽입합니다.let fruits = ["apple", "banana", "cherry", "date", "fig"];
// 예시 1: 배열에서 요소 삭제하기
let removed = fruits.splice(1, 2);
console.log(fruits); // ["apple", "date", "fig"]
console.log(removed); // ["banana", "cherry"]
// 예시 2: 배열에서 요소 수정하기
removed = fruits.splice(1, 1, "lemon");
console.log(fruits); // ["apple", "lemon", "fig"]
console.log(removed); // ["date"]
// 예시 3: 배열에서 요소 추가하기
removed = fruits.splice(2, 0, "kiwi");
console.log(fruits); // ["apple", "lemon", "kiwi", "fig"]
console.log(removed); // []
// 예시 4: 음수 인덱스 사용하기
removed = fruits.splice(-2, 1);
console.log(fruits); // ["apple", "lemon", "fig"]
console.log(removed); // ["kiwi"]
splice()
메서드를 통해 배열의 요소를 삭제, 수정, 또는 추가할 수 있습니다. 이 메서드는 원본 배열을 수정하므로 작업을 수행하기 전 복사본을 만드는 것이 좋습니다.