Array.prototype.slice()
array.slice(start, end)
Gibt ein neues Array mit den Elementen vom Index start bis end zurück – das Element am Index end ist nicht im Ergebnis.
Das ursprüngliche Array bleibt unverändert.
Parameter
- start – optional, der Index des ersten Elements (standardmäßig 0). Eine negative Zahl zählt vom Ende.
- end – optional, der Index, vor dem aufgehört wird (standardmäßig die Länge des Arrays). Eine negative Zahl zählt vom Ende.
Rückgabewert
Ein neues Array (eine flache Kopie des gewählten Teils).
Beispiele
const letters = ['a', 'b', 'c', 'd', 'e']; console.log(letters.slice(1, 3)); console.log(letters.slice(-2)); console.log(letters.slice(2)); console.log(letters);
Ausgabe:
[ 'b', 'c' ] [ 'd', 'e' ] [ 'c', 'd', 'e' ] [ 'a', 'b', 'c', 'd', 'e' ]
Seitenweise Anzeige – 2 Einträge pro Seite:
const articles = ['A', 'B', 'C', 'D', 'E']; const perPage = 2; const page = 3; console.log(articles.slice((page - 1) * perPage, page * perPage));
Ausgabe:
[ 'E' ]
Worauf Sie achten sollten
- Verwechseln Sie sie nicht mit splice(), die das Array ändert.
- Die Kopie ist flach: Die Objekte im neuen Array sind dieselben Objekte. Eine vollständige Kopie erstellt
structuredClone(). slice()ohne Parameter gibt eine Kopie des ganzen Arrays zurück (genau wie[...array]).
Browserunterstützung
Baseline – weithin verfügbar: funktioniert in allen gängigen Browsern, und das schon lange (spätestens seit 2015). Ab Version: Chrome 1, Firefox 1, Safari 1; Node.js 0.10.0. Stand: Oktober 2026 (MDN browser-compat-data).
Siehe auch:
Array.prototype.splice()
Array.prototype.at()
Array.prototype.concat()