Array.prototype.toSpliced()

array.toSpliced(start, deleteCount, element1, element2, …)

Sie hat dieselben Parameter wie splice(), ändert aber das ursprüngliche Array nicht und gibt ein neues geändertes Array zurück (nicht die entfernten Elemente).

Das ursprüngliche Array bleibt unverändert.

Parameter

  • start – der Index, an dem begonnen wird; eine negative Zahl zählt vom Ende.
  • deleteCount – optional, wie viele Elemente entfernt werden (ohne Angabe alles bis zum Ende).
  • element1, element2, … – optional, die eingefügten Elemente.

Rückgabewert

Ein neues Array nach der Änderung. Die entfernten Elemente gibt sie nicht zurück – anders als splice().

Beispiele

const days = ['mo', 'di', 'XX', 'do'];
console.log(days.toSpliced(2, 1, 'mi'));
console.log(days.toSpliced(1, 0, 'feiertag'));
console.log(days);

Ausgabe:

[ 'mo', 'di', 'mi', 'do' ]
[ 'mo', 'feiertag', 'di', 'XX', 'do' ]
[ 'mo', 'di', 'XX', 'do' ]

Worauf Sie achten sollten

  • Die Methode ist neuer (ECMAScript 2023). Für ältere Browser erhalten Sie dasselbe Ergebnis mit einer Kopie: [...array] und der Methode, die das Array ändert.
  • Anders als splice() gibt sie das ganze neue Array zurück. Brauchen Sie die entfernten Elemente, verwenden Sie slice() mit demselben Bereich.

Browserunterstützung

Baseline – weithin verfügbar: in allen gängigen Browsern seit Juli 2023, gilt als weithin verfügbar seit Januar 2026. Ab Version: Chrome 110, Firefox 115, Safari 16; Node.js 20.0.0. Stand: Oktober 2026 (MDN browser-compat-data).

Siehe auch:
Array.prototype.with()
Array.prototype.toSorted()
Array.prototype.toReversed()