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