splice

Tags
자르기
기존 배열 변경
요약
기존요소 삭제,수정, 새로운 요소 추가 ⇒ 제거된 요소 배열 반환 start 자리부터 deleteCount만큼 지우고 item...을 추가
 

함수 설명

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"]