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