이 번역은 완료되지 않았습니다. 이 문서를 번역해 주세요.

splice() 메서드는 배열에 있는 요소를 삭제하거나, 새 요소를 추가하거나, 둘 다 동시에 수행할 수 있습니다.

구문

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

매개변수

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

문서 태그 및 공헌자

이 페이지의 공헌자: urty5656, KisukPark, wonhoKim, laranhee, Jei, Rokt33r
최종 변경자: urty5656,