자바스크립트에서 splice()는 배열의 요소를 추가, 제거하거나 교체할 때 유용하게 쓰이는 메소드이다.
array.splice(start, deleteCount, [item1, item2, ...])
- start: 시작 인덱스
- 음수인 경우 배열의 끝에서부터 세어나감
- 배열의 길이보다 큰 경우 0으로 간주
- deleteCount: 제거할 요소의 개수
- 0이면 제거되지 않음
- 생략하면 배열의 끝까지로 간주
- item1, item2, ...: 배열에 추가할 요소
- 지정하지 않으면 삭제 기능만 수행
1. 요소 삭제
2번 인덱스에서부터 2개의 요소를 삭제한다.
** splice 메소드는 삭제된 요소를 반환한다.
let array = ['a', 'b', 'c', 'd', 'e'];
let removed = array.splice(2, 2);
console.log(array); // 삭제 후 배열 ['a', 'b', 'e']
console.log(removed); // 삭제된 요소 ['c', 'd']
start 값이 음수인 경우에는 뒤에서부터 2번째 요소(=d)가 시작값이 된다.
let array = ['a', 'b', 'c', 'd', 'e'];
array.splice(-2, 2);
console.log(array); // ['a', 'b', 'c']
2. 요소 추가
2번째 인덱스에 'x', 'y'를 추가한다.
let array = ['a', 'b', 'c', 'd', 'e'];
array.splice(2, 0, 'x', 'y');
console.log(array); // 추가된 배열 ['a', 'b', 'x', 'y', 'c', 'd', 'e']
3. 요소 교체
2번째 인덱스부터 2개의 요소를 'x', 'y'로 교체한다.
let array = ['a', 'b', 'c', 'd', 'e'];
array.splice(2, 2, 'x', 'y');
console.log(array); // ['a', 'b', 'x', 'y', 'e']
반응형