번역 작업 진행중입니다.

splice() 메서드는 배열의 기존 요소를 삭제 또는 교체 하거나 새 요소를 추가여 배열의 내용을 변경합니다.

구문

array.splice(start[deleteCount[item1[item2[...]]]])

매개변수

start
배열의 변경을 시작할 인덱스입니다(초기 index : 0).  만약 배열 길이보다 길면, 실제 시작 인덱스는 배열의 길이로 설정됩니다. 음수의 경우, 배열의 끝에서 부터 요소를 세어나가며 (초기 index : -1), 그 값의 절대값이 배열의 길이 보다 큰 경우 0으로 설정됩니다.
deleteCount Optional
배열에서 제거를 할 요소의 수 입니다. 만약  deleteCount가 0의 경우, 아무런 요소도 제거되지 않습니다. 이경우, 최소한 하나의 새 요소를 특정해 주어야 합니다. 만약, deleteCountstart에서 부터의 남은 요소 수 보다 많을 경우, 남은 요소를 모두 제거합니다.
item1, item2, ... Optional
배열에 추가될 요소입니다. 만약 아무런 요소도 특정되지 않을 경우,  splice()는 요소를 오직 삭제만 할 것입니다.

반환 값

삭제된 요소들을 담은 배열이 반환됩니다. 만약 단 하나의 요소만 삭제되었을 경우, 하나의 요소가 들어있는 배열이 반환됩니다. 만약 아무런 요소도 삭제되지 않았을 경우, 빈 배열이 반환됩니다.

설명

만약 삭제할 요소의 수와 삽입할 요소의 수가 다를 경우, 호출 종료시점에 배열의 길이가 달라지게 됩니다.

예제

splice() 사용하기

var myFish = ['angel', 'clown', 'mandarin', 'surgeon'];

// removes 0 elements from index 2, and inserts 'drum'
var removed = myFish.splice(2, 0, 'drum');
// myFish is ['angel', 'clown', 'drum', 'mandarin', 'surgeon']
// removed is [], no elements removed

// removes 1 element from index 3
removed = myFish.splice(3, 1);
// myFish is ['angel', 'clown', 'drum', 'surgeon']
// removed is ['mandarin']

// removes 1 element from index 2, and inserts 'trumpet'
removed = myFish.splice(2, 1, 'trumpet');
// myFish is ['angel', 'clown', 'trumpet', 'surgeon']
// removed is ['drum']

// removes 2 elements from index 0, and inserts 'parrot', 'anemone' and 'blue'
removed = myFish.splice(0, 2, 'parrot', 'anemone', 'blue');
// myFish is ['parrot', 'anemone', 'blue', 'trumpet', 'surgeon']
// removed is ['angel', 'clown']

// removes 2 elements from index 3
removed = myFish.splice(3, Number.MAX_VALUE);
// myFish is ['parrot', 'anemone', 'blue']
// removed is ['trumpet', 'surgeon']

명세

Specification Status Comment
ECMAScript 3rd Edition (ECMA-262) Standard Initial definition. Implemented in JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)
The definition of 'Array.prototype.splice' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Array.prototype.splice' in that specification.
Standard  

브라우저 호환성

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Basic supportChrome Full support 1Edge Full support YesFirefox Full support 1IE Full support 5.5Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes

Legend

Full support  
Full support

같이 보기

  • push() / pop() — add/remove elements from the end of the array
  • unshift() / shift() — add/remove elements from the beginning of the array
  • concat() — returns a new array comprised of this array joined with other array(s) and/or value(s)

문서 태그 및 공헌자

최종 변경자: mdnwebdocs-bot,