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

Array.prototype.toSpliced() - 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.toSpliced()

Baseline Weitgehend verfgbar

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

Die toSpliced()-Methode von Array-Instanzen ist die kopierende Version der splice()-Methode. Sie gibt ein neues Array zurck, bei dem einige Elemente an einem bestimmten Index entfernt und/oder ersetzt wurden.

In diesem Artikel

Syntax

js
toSpliced(start)
toSpliced(start, skipCount)
toSpliced(start, skipCount, item1)
toSpliced(start, skipCount, item1, item2)
toSpliced(start, skipCount, item1, item2, /* , */ itemN)

Parameter

start

Nullbasierter Index, ab dem das Array gendert werden soll, in eine ganze Zahl umgewandelt.

  • Ein negativer Index zhlt vom Ende des Arrays zurck wenn -array.length <= start < 0, wird start + array.length verwendet.
  • Es wird 0 verwendet, wenn start < -array.length oder start weggelassen wird.
  • Wenn start >= array.length, wird kein Element gelscht, jedoch verhlt sich die Methode als Hinzufgungsfunktion und fgt so viele Elemente hinzu, wie bergeben werden.
skipCount Optional

Eine ganze Zahl, die angibt, wie viele Elemente im Array ab start entfernt (oder bersprungen) werden sollen.

Wenn skipCount 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 skipCount bergeben, um alle Elemente nach start zu lschen, da ein explizites undefined in 0 umgewandelt wird.

Wenn skipCount 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.

Wenn Sie keine Elemente angeben, entfernt toSpliced() nur Elemente aus dem Array.

Rckgabewert

Ein neues Array, das aus allen Elementen vor start, item1, item2, , itemN und allen Elementen nach start + skipCount besteht.

Beschreibung

Die toSpliced()-Methode, wie splice(), fhrt mehrere Aktionen gleichzeitig aus: Sie entfernt eine bestimmte Anzahl von Elementen aus dem Array, beginnend an einem bestimmten Index, und fgt dann die angegebenen Elemente am gleichen Index wieder ein. Jedoch zurckgegeben wird ein neues Array, und das ursprngliche Array wird nicht verndert. Die gelschten Elemente werden daher nicht ber diese Methode zurckgegeben, bleiben jedoch im ursprnglichen Array zugnglich.

Die toSpliced()-Methode erzeugt niemals ein sparses Array. Wenn das Quellarray sparsam ist, werden die leeren Pltze im neuen Array durch undefined ersetzt.

Die toSpliced()-Methode ist generisch. Sie erwartet nur, dass der this-Wert eine length-Eigenschaft und integer-indizierte Eigenschaften hat.

Beispiele

Lschen, Hinzufgen und Ersetzen von Elementen

Sie knnen toSpliced() verwenden, um Elemente in einem Array zu lschen, hinzuzufgen und zu ersetzen, und ein neues Array effizienter zu erstellen als mit slice() und concat().

js
const months = ["Jan", "Mar", "Apr", "May"];

// Inserting an element at index 1
const months2 = months.toSpliced(1, 0, "Feb");
console.log(months2); // ["Jan", "Feb", "Mar", "Apr", "May"]

// Deleting two elements starting from index 2
const months3 = months2.toSpliced(2, 2);
console.log(months3); // ["Jan", "Feb", "May"]

// Replacing one element at index 1 with two new elements
const months4 = months3.toSpliced(1, 1, "Feb", "Mar");
console.log(months4); // ["Jan", "Feb", "Mar", "May"]

// Original array is not modified
console.log(months); // ["Jan", "Mar", "Apr", "May"]

Verwendung von toSpliced() bei sparsen Arrays

Die toSpliced()-Methode erzeugt immer ein dichtes Array.

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

Aufrufen von toSpliced() bei Nicht-Array-Objekten

Die toSpliced()-Methode liest die length-Eigenschaft von this. Sie liest dann die erforderlichen integer-indizierten Eigenschaften und schreibt sie in das neue Array.

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

Spezifikationen

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

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page