함수 설명
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
start
자리부터 deleteCount
만큼 지우고 item...
을 추가인자
start
: 배열의 변경을 시작할 인덱스입니다. 배열의 길이보다 큰 값이라면 실제 시작 인덱스는 배열의 길이로 설정됩니다. 음수인 경우 배열의 끝에서부터 요소를 세어나갑니다(원점 -1, 즉 -n이면 요소 끝의 n번째 요소를 가리키며
array.length - n
번째 인덱스와 같음). 값의 절대값이 배열의 길이 보다 큰 경우 0으로 설정됩니다.deleteCount
Optional: 배열에서 제거할 요소의 수입니다.
:
deleteCount
를 생략하거나 값이 array.length - start
보다 크면 start
부터의 모든 요소를 제거합니다.:
deleteCount
가 0 이하라면 어떤 요소도 제거하지 않습니다. 이 때는 최소한 하나의 새로운 요소를 지정해야 합니다.item1, item2,
...
Optional: 배열에 추가할 요소입니다. 아무 요소도 지정하지 않으면
splice()
는 요소를 제거하기만 합니다.사용 예시
하나도 제거하지 않고 2번 인덱스에 추가
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon']; var removed = myFish.splice(2, 0, 'drum', 'guitar'); // ["angel", "clown", "drum", "guitar", "mandarin", "sturgeon"] // removed는 삭제된게 없으므로 []
요소 제거
var myFish = ['parrot', 'anemone', 'blue', 'trumpet', 'sturgeon']; var removed = myFish.splice(myFish.length - 3, 2); // myFish is ["parrot", "anemone", "sturgeon"] // removed is ["blue", "trumpet"]
수정 (제거 후 추가)
var myFish = ['angel', 'clown', 'drum', 'sturgeon']; var removed = myFish.splice(2, 1, 'trumpet'); // myFish is ["angel", "clown", "trumpet", "sturgeon"] // removed is ["drum"]