Die splice() Methode ändert den Inhalt eines Array durch das Hinzufügen neuer und/oder Entfernen alter Elemente.

Syntax

array.splice(index, deleteCount[, element1[,  element2 [, ...]]])

Parameter

index
Index ab welchem das Array geändert werden soll. Wenn der Index größer als die Länge des Arrays ist, wird der Index auf die Länge des Arrays gesetzt. Falls der Index negativ ist, beginnt die Änderung entsprechend viele Stellen rückwärts vom Ende des Array.
deleteCount
Anzahl wie viele alte Array Elemente entfernt werden sollen. Falls deleteCount 0 ist, werden keine Elemente entfernt. In diesem Fall sollte man mindestens ein neues Element übergeben. Falls deleteCount größer ist als die Anzahl Elemente die in dem Array übrig bleiben, beginndend ab index, dann werden alle Elemente bis zum Ende des Arrays entfernt.
Falls kein deleteCount Parameter spezifieziert wird (SpiderMonkey Erweiterung) werden alle Elemente ab index entfernt.
element1, element2, ...
Die Elemente, die dem Array hinzugefügt werden sollen. Falls keine Elemente angegeben werden, entfernt splice einfach Elemente des Array.

Rückgabewert

Ein Array, welches die entfernten Elemente beinhaltet. Falls nur ein Element entfernt wurde, wird dennoch ein Array mit nur einem Element zurückgegeben. Falls keine Elemente entfernt werden wird ein leeres Array zurückgegeben.

Beschreibung

Falls die Anzahl neuer Elemente ungleich der Anzahl entfernter Elemente ist wird die Länge des Arrays geändert.

Beispiele

Zur Benutzung von splice

Das folgende Script zeigt die Benutzung von 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, myFish.length);
// myFish is ['parrot', 'anemone', 'blue']
// removed is ['trumpet', 'surgeon']

Spezifikation

Spezifikation Status Kommenter
ECMAScript 3rd Edition (ECMA-262) Standard Initial definition. Implemented 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 2017 Draft (ECMA-262)
Die Definition von 'Array.prototype.splice' in dieser Spezifikation.
Entwurf  

Browserkompatibilität

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 1.0 1.0 (1.7 oder früher) 5.5 (Ja) (Ja)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Ja) (Ja) (Ja) (Ja) (Ja) (Ja)

Abwärtskompatibilität

In JavaScript 1.2 gibt die splice Methode nur das entfernte Element zurück wenn nur ein Element entfernt wurde (deleteCount Parameter ist 1); Ansonsten gibt die Methode ein Array zurück wie oben beschrieben.

Hinweis: Der letzte Browser welcher JavaScript 1.2 nutzte, war Netscape Navigator 4, also kann man davon ausgehen, dass splice immer ein Array zurückgibt. Das ist der Fall, wenn eine JavaScript Objekt eine length Eigenschaft und eine splice Methode hat, console.log() behandelt es als arrayänliches Objekt. Die Prüfung mit instanceof Array gibt false zurück.

Siehe auch

  • push / pop — hinzufügen/löschen von Elementen vom Ende des Arrays
  • unshift / shift — hinzufügen/löschen von Elementen vom Anfang des Arrays
  • concat — Gibt ein neuses Array, welches das Array und das/die übergebene(n) Array(s) enthält.

Schlagwörter des Dokuments und Mitwirkende

 Zuletzt aktualisiert von: schlagi123,