JavaScriptTablice

Array.prototype.find()

Zwraca pierwszy element spełniający warunek albo undefined.

Zwraca
Pierwszy pasujący element albo undefined.
Zmienia oryginał
Nie
Na tej stronie

Przykład

#
JavaScript
const users = [
  { id: 1, name: 'Ania' },
  { id: 2, name: 'Kuba' },
  { id: 3, name: 'Ola' }
]

console.log(users.find((user) => user.id === 2))
console.log(users.find((user) => user.id === 9))
Konsola
{ id: 2, name: 'Kuba' }
undefined

Definicja i zastosowanie

#

Metoda find() przeszukuje tablicę od początku i zwraca pierwszy element, dla którego funkcja testująca zwróci wartość prawdziwą. Gdy żaden nie pasuje, zwraca undefined.

Przeszukiwanie kończy się na pierwszym trafieniu, więc przy dużych tablicach jest szybsze niż filter(), które zawsze sprawdza wszystkie elementy.

Jeśli zamiast samego elementu potrzebujesz jego pozycji, użyj findIndex(). Do szukania od końca służą findLast() i findLastIndex().

Składnia

#
Składnia
array.find(callbackFn)
array.find(callbackFn, thisArg)

Parametry

#
  • callbackFn

    function (element, index, array)

    Funkcja testująca. Wyszukiwanie kończy się, gdy zwróci wartość prawdziwą.
  • thisArg

    opcjonalny

    Wartość this wewnątrz funkcji.

Więcej przykładów

#
Bezpieczne użycie wyniku
JavaScript
const courses = [{ slug: 'html', title: 'HTML i CSS' }]
const course = courses.find((c) => c.slug === 'python')

console.log(course?.title ?? 'Nie znaleziono kursu')
Konsola
Nie znaleziono kursu

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

#
  • Wynik find() może być undefined. Zabezpiecz się operatorem ?. przed odczytem właściwości.
  • Do sprawdzenia samego istnienia elementu lepsze jest some(), które zwraca true lub false.

Powiązane hasła

#

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