JavaScriptTablice
Array. prototype. find()
Zwraca pierwszy element spełniający warunek albo undefined.
- Zwraca
- Pierwszy pasujący element albo
undefined. - Zmienia oryginał
- Nie
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śćthiswewnątrz funkcji.
Więcej przykładów
#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 zwracatruelubfalse.
Powiązane hasła
#- Array.prototype.findIndex()Zwraca indeks pierwszego elementu spełniającego warunek albo -1.
- Array.prototype.findLast()Zwraca ostatni element spełniający warunek, przeszukując tablicę od końca.
- Array.prototype.filter()Tworzy nową tablicę z elementami, dla których funkcja zwróciła true.
- Array.prototype.some()Sprawdza, czy przynajmniej jeden element spełnia warunek.
Widzisz błąd albo brakuje przykładu? Napisz do nas.