Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Eingebaute Standardobjekte
  5. Array
  6. splice()

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

View in EnglishAlways switch to English

Array.prototype.splice()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

Diesplice() Methode vonArray Instanzen ändert den Inhalt eines Arrays, indem sie bestehende Elemente entfernt oder ersetzt und/oder neue Elementein-place hinzufügt.

Um ein neues Array mit einem entfernten und/oder ersetzten Segment zu erstellen, ohne das ursprüngliche Array zu verändern, verwenden SietoSpliced(). Um auf einen Teil eines Arrays zuzugreifen, ohne es zu verändern, sieheslice().

Probieren Sie es aus

const months = ["Jan", "March", "April", "June"];months.splice(1, 0, "Feb");// Inserts at index 1console.log(months);// Expected output: Array ["Jan", "Feb", "March", "April", "June"]months.splice(4, 1, "May");// Replaces 1 element at index 4console.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 zählt rückwärts vom Ende des Arrays — wenn-array.length <= start < 0, wirdstart + array.length verwendet.
  • Wennstart < -array.length, wird0 verwendet.
  • Wennstart >= array.length, wird kein Element gelöscht, aber die Methode verhält sich wie eine Hinzufügemethode und fügt so viele Elemente hinzu, wie bereitgestellt werden.
  • Wennstart ausgelassen wird (undsplice() ohne Argumente aufgerufen wird), wird nichts gelöscht. Dies unterscheidet sich davon,undefined zu übergeben, das in0 konvertiert wird.
deleteCountOptional

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

WenndeleteCount weggelassen wird oder sein Wert größer oder gleich der Anzahl der Elemente nach der durchstart angegebenen Position ist, werden alle Elemente vonstart bis zum Ende des Arrays gelöscht. Wenn Sie jedoch einenitemN-Parameter übergeben möchten, sollten SieInfinity alsdeleteCount übergeben, um alle Elemente nachstart zu löschen, da ein explizitesundefinedkonvertiert zu0 wird.

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

item1, …,itemNOptional

Die Elemente, die dem Array abstart hinzugefügt werden sollen.

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

Rückgabewert

Ein Array, das die gelöschten Elemente enthält.

Wenn nur ein Element entfernt wird, wird ein Array mit einem Element zurückgegeben.

Wenn keine Elemente entfernt werden, wird ein leeres Array zurückgegeben.

Beschreibung

Diesplice() Methode ist eineverändernde Methode. Sie kann den Inhalt vonthis ändern. Wenn die Anzahl der zu einzufügenden Elemente von der Anzahl der zu entfernenden Elemente abweicht, wird dielength des Arrays ebenfalls verändert. Gleichzeitig verwendet es[Symbol.species], um eine neue Array-Instanz zu erstellen, die zurückgegeben wird.

Wenn der gelöschte Teilspärlich ist, ist das vonsplice() zurückgegebene Array ebenfalls spärlich und weist an den entsprechenden Indizes leere Slots auf.

Diesplice() Methode istgenerisch. Sie erwartet lediglich, dass derthis Wert einelength Eigenschaft und ganzzahlig indizierte Eigenschaften besitzt. Obwohl Strings ebenfalls array-ähnlich sind, eignet sich diese Methode nicht für Strings, da sie unveränderlich sind.

Beispiele

Entfernen von 0 (null) Elementen vor Index 2 und Einfügen 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 Einfügen 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 Einfügen von "angel"

splice(0, 0, ...elements) fügt Elemente am Anfang des Arrays hinzu wieunshift().

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 Einfügen von "sturgeon"

splice(array.length, 0, ...elements) fügt Elemente am Ende des Arrays hinzu wiepush().

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 Einfügen 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 Einfügen 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 spärlichen Arrays

Diesplice() 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

Diesplice() Methode liest dielength Eigenschaft vonthis. Sie aktualisiert dann die ganzzahlig indizierten Eigenschaften und dielength 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

Specification
ECMAScript® 2026 Language Specification
# sec-array.prototype.splice

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp