JavaScript/Objekte/Array/splice

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Die Methode splice entfernt Elemente aus einem Array und fügt neue Elemente ein.

Syntax

Array.splice(position [, anzahl [, element0, ..., elementN] ])


Folgende Angaben sind möglich:

  • position: die Position im Array, an der Elemente gelöscht und eingefügt werden sollen. Ist dieser Wert negativ, dann wird vom Ende des Arrays aus gezählt.
  • anzahl: die Anzahl der zu löschenden Elemente
  • element0, ..., elementN: die neuen Elemente, die an der Position eingefügt werden sollen


Rückgabewert ist ein Array mit den entfernten Elementen.

Beschreibung

Um neue Elemente einzufügen, ist es erforderlich, die Anzahl der zu löschenden Elemente anzugeben. Sollen keine Elemente gelöscht werden, dann sollte hier 0 (Null) stehen. Wenn die Methode nur mit dem ersten Parameter position aufgerufen wird, dann werden alle Elemente ab dieser Position gelöscht, das Element an dieser Position mit einbegriffen.

Beispiel
var a = new Array("a", "b", "c", "d", "e", "f");
alert(a); // "a,b,c,d,e,f"

/* --- 1 --- */
a.splice(2, 0, "X", "Y");
alert(a); // "a,b,X,Y,c,d,e,f"

/* -- 2 --- */
a.splice(4, 3, "Z");
alert(a); // "a,b,X,Y,Z,f"

/* --- 3 --- */
a.splice(-1, 5, "#");
alert(a); // "a,b,X,Y,Z,#"

/* --- 4 --- */
a.splice(-1);
alert(a); // "a,b,X,Y,Z"

/* --- 5 --- */
a.splice(1);
alert(a); // "a"
--- 1 ---
an die Stelle 2 (Zählung beginnt bei Null!) werden die Elemente "X" und "Y" eingefügt
--- 2 ---
beginnend ab der Stelle 4 werden 3 Elemente ("c", "d", "e") gelöscht und das Element "Z" eingefügt
--- 3 ---
beginnend ab der letzten Stelle sollen 5 Elemente gelöscht werden, davon gibt es jedoch nur eins ("f")
das Element "#" wird an die letzte Stelle gesetzt
--- 4 ---
ab der letzten Stelle werden alle Elemente gelöscht ("#")
--- 5 ---
beginnend ab der Stelle 1 (Zählung beginnt bei Null!) werden alle Elemente gelöscht

Der Parameter position bezieht sich auf einen auf 0 (Null) basierenden Index des Arrays. Das bedeutet, das erste Element im Array hat die Position 0 (Null). Wird der Index im Array durch eine negative Positionsangabe ermittelt, dann entspricht die Position -1 dem letzten Eintrag im Array und die Position -2 dem vorletzten Eintrag. Es wird einfach vom Ende aus gezählt.

Beachten Sie: Ein negativer Wert für position bedeutet nicht, dass die Elemente dann auch vor der Position eingefügt oder gelöscht werden. Ein negativer Positionswert ist nur für die Bestimmung des Index von Bedeutung und hat sonst keinerlei Auswirkungen.

Weblinks