JavaScriptTablice
Array. prototype. slice()
Zwraca kopię fragmentu tablicy bez zmieniania oryginału.
- Zwraca
- Nową tablicę z wyciętymi elementami.
- Zmienia oryginał
- Nie
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
#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
#- Array.prototype.splice()Usuwa, zastępuje lub wstawia elementy w miejscu, zmieniając tablicę.
- String.prototype.slice()Zwraca fragment napisu od indeksu początkowego do końcowego (bez niego). Obsługuje indeksy ujemne.
- Array.prototype.concat()Łączy tablice i wartości w nową tablicę.
- Spread (...)Składnia spread rozkłada tablicę, napis lub obiekt na pojedyncze elementy: do kopiowania, łączenia i przekazywania argumentów.
Widzisz błąd albo brakuje przykładu? Napisz do nas.