JavaScriptTablice

Array.prototype.slice()

Zwraca kopię fragmentu tablicy bez zmieniania oryginału.

Zwraca
Nową tablicę z wyciętymi elementami.
Zmienia oryginał
Nie
Na tej stronie

Przykład

#
JavaScript
const modules = ['Wstęp', 'HTML', 'CSS', 'Flexbox', 'Grid']

console.log(modules.slice(1, 3))
console.log(modules.slice(-2))
console.log(modules)
Konsola
['HTML', 'CSS']
['Flexbox', 'Grid']
['Wstęp', 'HTML', 'CSS', 'Flexbox', 'Grid']

Definicja i zastosowanie

#

Metoda slice(start, end) wycina fragment tablicy od indeksu start do end, bez elementu o indeksie end, i zwraca go jako nową tablicę. Oryginał zostaje nietknięty.

Indeksy ujemne liczą się od końca: slice(-2) zwraca dwa ostatnie elementy. Wywołanie bez argumentów tworzy płytką kopię całej tablicy.

Nie myl jej z splice(), która zmienia tablicę, usuwając lub wstawiając elementy. Łatwo zapamiętać: slice kroi kopię, splice operuje na oryginale.

Składnia

#
Składnia
array.slice()
array.slice(start)
array.slice(start, end)

Parametry

#
  • start

    opcjonalny

    Indeks początku (włącznie). Ujemny liczy od końca.
  • end

    opcjonalny

    Indeks końca (wyłącznie). Domyślnie długość tablicy.

Więcej przykładów

#
Paginacja
JavaScript
const items = [1, 2, 3, 4, 5, 6, 7]
const perPage = 3
const page = 2

console.log(items.slice((page - 1) * perPage, page * perPage))
Konsola
[4, 5, 6]

Obsługa przeglądarek

#

Szeroko dostępne

Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.

  • Chrome
  • Edge
  • Firefox
  • Safari

Dobre praktyki

#
  • slice() tworzy kopię płytką: obiekty w środku są wspólne dla obu tablic.
  • Do stronicowania wyników wzór slice((page - 1) * size, page * size) jest prosty i czytelny.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.