JavaScriptTablice

Array.prototype.fill()

Wypełnia tablicę (lub jej fragment) jedną wartością.

Zwraca
Tę samą, wypełnioną tablicę.
Zmienia oryginał
Tak
Na tej stronie

Przykład

#
JavaScript
console.log(new Array(5).fill(0))
console.log([1, 2, 3, 4, 5].fill('x', 1, 3))
Konsola
[0, 0, 0, 0, 0]
[1, 'x', 'x', 4, 5]

Definicja i zastosowanie

#

Metoda fill(value, start, end) wpisuje podaną wartość we wszystkie elementy tablicy albo w fragment od start do end. Zmienia oryginalną tablicę i zwraca ją.

Najczęściej używa się jej do przygotowania tablicy o znanej długości: new Array(7).fill(0) tworzy siedem zer, na przykład jako licznik dla dni tygodnia.

Uwaga na obiekty: fill({}) wstawia w każde miejsce ten sam obiekt, więc zmiana jednego elementu zmienia wszystkie. Do tworzenia osobnych obiektów użyj Array.from({ length }, () => ({})).

Składnia

#
Składnia
array.fill(value)
array.fill(value, start)
array.fill(value, start, end)

Parametry

#
  • value

    dowolna wartość

    Wartość do wpisania.
  • start

    opcjonalny

    Indeks początku, domyślnie 0.
  • end

    opcjonalny

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

Więcej przykładów

#
Pułapka z obiektami
JavaScript
const shared = new Array(2).fill({ done: false })
shared[0].done = true
console.log(shared)

const separate = Array.from({ length: 2 }, () => ({ done: false }))
separate[0].done = true
console.log(separate)
Konsola
[{ done: true }, { done: true }]
[{ done: true }, { done: false }]

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 wypełniania obiektami używaj Array.from() z funkcją, żeby każdy element był osobnym obiektem.
  • fill() zmienia tablicę w miejscu, więc nie wywołuj go na danych, których nie chcesz modyfikować.

Powiązane hasła

#

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