JavaScriptTablice

Array.prototype.splice()

Usuwa, zastępuje lub wstawia elementy w miejscu, zmieniając tablicę.

Zwraca
Tablicę usuniętych elementów (może być pusta).
Zmienia oryginał
Tak
Na tej stronie

Przykład

#
JavaScript
const list = ['HTML', 'CSS', 'PHP', 'JavaScript']

const removed = list.splice(2, 1)
console.log(removed)
console.log(list)

list.splice(1, 0, 'Sass')
console.log(list)
Konsola
['PHP']
['HTML', 'CSS', 'JavaScript']
['HTML', 'Sass', 'CSS', 'JavaScript']

Definicja i zastosowanie

#

Metoda splice(start, deleteCount, ...items) zmienia oryginalną tablicę. Od indeksu start usuwa deleteCount elementów, a w ich miejsce wstawia podane nowe elementy. Zwraca tablicę usuniętych elementów.

Jednym wywołaniem możesz więc usunąć element (splice(i, 1)), wstawić nowy bez usuwania (splice(i, 0, x)) albo zamienić fragment na inne wartości.

Jeśli nie chcesz mutować danych, użyj nowszej metody toSpliced(), która działa tak samo, ale zwraca nową tablicę.

Składnia

#
Składnia
array.splice(start)
array.splice(start, deleteCount)
array.splice(start, deleteCount, item1, item2, …)

Parametry

#
  • start

    liczba

    Indeks, od którego zaczynają się zmiany. Ujemny liczy od końca.
  • deleteCount

    opcjonalny

    Liczba elementów do usunięcia. Pominięta oznacza usunięcie wszystkiego do końca.
  • item1…itemN

    opcjonalne

    Elementy do wstawienia w miejscu start.

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

#
  • Do usuwania elementu po warunku częściej lepszy jest filter(), który nie mutuje tablicy.
  • Nie usuwaj elementów przez splice() w pętli idącej od początku, bo indeksy się przesuwają. Idź od końca albo użyj filter().

Powiązane hasła

#

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