[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/splice [Back]  [Original]

Array.prototype.splice() - JavaScript | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

Array.prototype.splice()

Baseline
Weitgehend verfgbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.

Die splice() Methode von Array Instanzen ndert den Inhalt eines Arrays, indem sie bestehende Elemente entfernt oder ersetzt und/oder neue Elemente in-place hinzufgt.

Um ein neues Array mit einem entfernten und/oder ersetzten Segment zu erstellen, ohne das ursprngliche Array zu verndern, verwenden Sie toSpliced(). Um auf einen Teil eines Arrays zuzugreifen, ohne es zu verndern, siehe slice().

In diesem Artikel

Probieren Sie es aus

const months = ["Jan", "March", "April", "June"];
months.splice(1, 0, "Feb");
// Inserts at index 1
console.log(months);
// Expected output: Array ["Jan", "Feb", "March", "April", "June"]

months.splice(4, 1, "May");
// Replaces 1 element at index 4
console.log(months);
// Expected output: Array ["Jan", "Feb", "March", "April", "May"]

Syntax

js
splice(start)
splice(start, deleteCount)
splice(start, deleteCount, item1)
splice(start, deleteCount, item1, item2)
splice(start, deleteCount, item1, item2, /* , */ itemN)

Parameter

start

Der nullbasierte Index, an dem das Array zu ndern beginnt, umgewandelt in eine Ganzzahl.

  • Ein negativer Index zhlt rckwrts vom Ende des Arrays wenn -array.length <= start < 0, wird start + array.length verwendet.
  • Wenn start < -array.length, wird 0 verwendet.
  • Wenn start >= array.length, wird kein Element gelscht, aber die Methode verhlt sich wie eine Hinzufgemethode und fgt so viele Elemente hinzu, wie bereitgestellt werden.
  • Wenn start ausgelassen wird (und splice() ohne Argumente aufgerufen wird), wird nichts gelscht. Dies unterscheidet sich davon, undefined zu bergeben, das in 0 konvertiert wird.
deleteCount Optional

Eine Ganzzahl, die die Anzahl der Elemente im Array angibt, die ab start entfernt werden sollen.

Wenn deleteCount weggelassen wird oder sein Wert grer oder gleich der Anzahl der Elemente nach der durch start angegebenen Position ist, werden alle Elemente von start bis zum Ende des Arrays gelscht. Wenn Sie jedoch einen itemN-Parameter bergeben mchten, sollten Sie Infinity als deleteCount bergeben, um alle Elemente nach start zu lschen, da ein explizites undefined konvertiert zu 0 wird.

Wenn deleteCount 0 oder negativ ist, werden keine Elemente entfernt. In diesem Fall sollten Sie mindestens ein neues Element angeben (siehe unten).

item1, , itemN Optional

Die Elemente, die dem Array ab start hinzugefgt werden sollen.

Wenn Sie keine Elemente angeben, wird splice() nur Elemente aus dem Array entfernen.

Rckgabewert

Ein Array, das die gelschten Elemente enthlt.

Wenn nur ein Element entfernt wird, wird ein Array mit einem Element zurckgegeben.

Wenn keine Elemente entfernt werden, wird ein leeres Array zurckgegeben.

Beschreibung

Die splice() Methode ist eine verndernde Methode. Sie kann den Inhalt von this ndern. Wenn die Anzahl der zu einzufgenden Elemente von der Anzahl der zu entfernenden Elemente abweicht, wird die length des Arrays ebenfalls verndert. Gleichzeitig verwendet es [Symbol.species], um eine neue Array-Instanz zu erstellen, die zurckgegeben wird.

Wenn der gelschte Teil sprlich ist, ist das von splice() zurckgegebene Array ebenfalls sprlich und weist an den entsprechenden Indizes leere Slots auf.

Die splice() Methode ist generisch. Sie erwartet lediglich, dass der this Wert eine length Eigenschaft und ganzzahlig indizierte Eigenschaften besitzt. Obwohl Strings ebenfalls array-hnlich sind, eignet sich diese Methode nicht fr Strings, da sie unvernderlich sind.

Beispiele

Entfernen von 0 (null) Elementen vor Index 2 und Einfgen von "drum"

js
const myFish = ["angel", "clown", "mandarin", "sturgeon"];
const removed = myFish.splice(2, 0, "drum");

// myFish is ["angel", "clown", "drum", "mandarin", "sturgeon"]
// removed is [], no elements removed

Entfernen von 0 (null) Elementen vor Index 2 und Einfgen von "drum" und "guitar"

js
const myFish = ["angel", "clown", "mandarin", "sturgeon"];
const removed = myFish.splice(2, 0, "drum", "guitar");

// myFish is ["angel", "clown", "drum", "guitar", "mandarin", "sturgeon"]
// removed is [], no elements removed

Entfernen von 0 (null) Elementen am Index 0 und Einfgen von "angel"

splice(0, 0, ...elements) fgt Elemente am Anfang des Arrays hinzu wie unshift().

js
const myFish = ["clown", "mandarin", "sturgeon"];
const removed = myFish.splice(0, 0, "angel");

// myFish is ["angel", "clown", "mandarin", "sturgeon"]
// no items removed

Entfernen von 0 (null) Elementen am letzten Index und Einfgen von "sturgeon"

splice(array.length, 0, ...elements) fgt Elemente am Ende des Arrays hinzu wie push().

js
const myFish = ["angel", "clown", "mandarin"];
const removed = myFish.splice(myFish.length, 0, "sturgeon");

// myFish is ["angel", "clown", "mandarin", "sturgeon"]
// no items removed

Entfernen von 1 Element am Index 3

js
const myFish = ["angel", "clown", "drum", "mandarin", "sturgeon"];
const removed = myFish.splice(3, 1);

// myFish is ["angel", "clown", "drum", "sturgeon"]
// removed is ["mandarin"]

Entfernen von 1 Element am Index 2 und Einfgen von "trumpet"

js
const myFish = ["angel", "clown", "drum", "sturgeon"];
const removed = myFish.splice(2, 1, "trumpet");

// myFish is ["angel", "clown", "trumpet", "sturgeon"]
// removed is ["drum"]

Entfernen von 2 Elementen ab Index 0 und Einfgen von "parrot", "anemone" und "blue"

js
const myFish = ["angel", "clown", "trumpet", "sturgeon"];
const removed = myFish.splice(0, 2, "parrot", "anemone", "blue");

// myFish is ["parrot", "anemone", "blue", "trumpet", "sturgeon"]
// removed is ["angel", "clown"]

Entfernen von 2 Elementen ab Index 2

js
const myFish = ["parrot", "anemone", "blue", "trumpet", "sturgeon"];
const removed = myFish.splice(2, 2);

// myFish is ["parrot", "anemone", "sturgeon"]
// removed is ["blue", "trumpet"]

Entfernen von 1 Element ab Index -2

js
const myFish = ["angel", "clown", "mandarin", "sturgeon"];
const removed = myFish.splice(-2, 1);

// myFish is ["angel", "clown", "sturgeon"]
// removed is ["mandarin"]

Entfernen aller Elemente ab Index 2

js
const myFish = ["angel", "clown", "mandarin", "sturgeon"];
const removed = myFish.splice(2);

// myFish is ["angel", "clown"]
// removed is ["mandarin", "sturgeon"]

Verwendung von splice() bei sprlichen Arrays

Die splice() Methode bewahrt die Sparsamkeit des Arrays.

js
const arr = [1, , 3, 4, , 6];
console.log(arr.splice(1, 2)); // [empty, 3]
console.log(arr); // [1, 4, empty, 6]

Aufruf von splice() bei Nicht-Array-Objekten

Die splice() Methode liest die length Eigenschaft von this. Sie aktualisiert dann die ganzzahlig indizierten Eigenschaften und die length Eigenschaft nach Bedarf.

js
const arrayLike = {
  length: 3,
  unrelated: "foo",
  0: 5,
  2: 4,
};
console.log(Array.prototype.splice.call(arrayLike, 0, 1, 2, 3));
// [ 5 ]
console.log(arrayLike);
// { '0': 2, '1': 3, '3': 4, length: 4, unrelated: 'foo' }

Spezifikationen

Spezifikation
ECMAScript 2027 LanguageSpecification
# sec-array.prototype.splice

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page