Array.prototype.splice()
Die splice() Methode ändert den Inhalt eines Arrays durch das Entfernen vorhandener Elemente und/oder Hinzufügen neuer Elemente.
Syntax
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
Parameter
start- Index ab welchem das Array geändert werden soll. Falls
startgrößer als die Länge des Arrays ist, wirdstartauf die Länge des Arrays gesetzt. - Falls
startnegativ ist, beginnt die Änderung entsprechend viele Stellen rückwärts vom Ende des Arrays (d.h. hatstartden Wert -n ist dies gleichbedeutend mitarray.length - n) und wird auf 0 gesetzt wenn der absolute Wert vonstartgrößer als die Länge des Arrays ist. deleteCountOptional- Gibt die Anzahl der zu entfernenden alten Array Elemente an.
- Wenn
deleteCountweggelassen wird oder wenn der Wert größer oder gleicharray.length - startist (d. h. wenn der Wert größer oder gleich der Anzahl der vonstartaus verbleibenden Elemente ist), wird das ganze Array ab dem Indexstartgelöscht. - Wenn
deleteCount0 oder negativ ist, werden keine Elemente entfernt. In diesem Fall sollte man mindestens ein neues Element als weiteren Parameter übergeben, da das Array sonst nicht geändert wird. item1, item2, ...Optional- Die Elemente, die dem Array ab dem Index
starthinzugefügt werden sollen. Falls keine Elemente angegeben werden, entferntsplicelediglich Elemente des Arrays.
Rückgabewert
Ein Array, welches die entfernten Elemente enthält. Wenn nur ein Element entfernt wurde, wird ein Array mit nur einem Element zurückgegeben. Wenn kein Element entfernt wurde, wird ein leeres Array zurückgegeben.
Beschreibung
Wenn die Anzahl der neu hinzugefügten Elemente ungleich der Anzahl der entfernten Elemente ist, wird die Länge des Arrays geändert. Bei gleicher Anzahl werden vorhandene Elemente sozusagen ersetzt.
Beispiele
Entfernen von 0 (null) Elementen bei Index 2 und Einfügen von "drum"
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2, 0, 'drum');
// myFish is ["angel", "clown", "drum", "mandarin", "sturgeon"]
// removed is [], no elements removedEntfernen von o (null) Elementen bei Index 2 und Einfügen von "drum" und "guitar"
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2, 0, 'drum', 'guitar');
// myFish is ["angel", "clown", "drum", "guitar", "mandarin", "sturgeon"]
// removed is [], no elements removedEntfernen von 1 Element bei Index 3
var myFish = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'];
var removed = myFish.splice(3, 1);
// removed is ["mandarin"]
// myFish is ["angel", "clown", "drum", "sturgeon"]Entfernen von 1 Element bei Index 2 und Einfügen von "trumpet"
var myFish = ['angel', 'clown', 'drum', 'sturgeon'];
var removed = myFish.splice(2, 1, 'trumpet');
// myFish is ["angel", "clown", "trumpet", "sturgeon"]
// removed is ["drum"]
Entfernen von 2 Elementen bei Index 0 und Einfügen von "parrot", "anemone" und "blue"
var myFish = ['angel', 'clown', 'trumpet', 'sturgeon'];
var removed = myFish.splice(0, 2, 'parrot', 'anemone', 'blue');
// myFish is ["parrot", "anemone", "blue", "trumpet", "sturgeon"]
// removed is ["angel", "clown"]Entfernen von 2 Elementen vom Index 2
var myFish = ['parrot', 'anemone', 'blue', 'trumpet', 'sturgeon'];
var removed = myFish.splice(myFish.length - 3, 2);
// myFish is ["parrot", "anemone", "sturgeon"]
// removed is ["blue", "trumpet"]Entfernen von einem Element bei Index -2
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(-2, 1);
// myFish is ["angel", "clown", "sturgeon"]
// removed is ["mandarin"]Entfernen von allen Elementen nach Index 2 (inklusiv)
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2);
// myFish is ["angel", "clown"]
// removed is ["mandarin", "sturgeon"]Spezifikationen
| Spezifikation | Status | Kommenter |
|---|---|---|
| ECMAScript 3rd Edition (ECMA-262) | Standard | Initiale Definition. Implementiert in JavaScript 1.2. |
| ECMAScript 5.1 (ECMA-262) Die Definition von 'Array.prototype.splice' in dieser Spezifikation. |
Standard | |
| ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'Array.prototype.splice' in dieser Spezifikation. |
Standard | |
| ECMAScript (ECMA-262) Die Definition von 'Array.prototype.splice' in dieser Spezifikation. |
Lebender Standard |
Browserkompatibilität
BCD tables only load in the browser