References

Array.find()

Leírás

A find függvény megpróbálja nekünk megtalálni egy tömb egyike elemét, valamilyen feltétel alapján.

Nem egy tömböt kapunk eredményként, hanem azt az elemet a tömbből, ami a kereső feltételnek elsőként eleget teszi. Fontos, hogy elsőként! Ugyanis lehet, hogy több elem is megfelelne a feltételnek, a find azonban a legelső ilyen elemet adja vissza.

Ebből az is következők, hogy ha a find megtalálja az elemet, akkor nem fog tovább menni a maradék tömb elemeken.

const example = [10, 2, 8, 100, 56, 6, 1]

Azt elemet keresem, ami egyenlő 100-zal.

Létrehozok az eredménynek egy új változót. Ez a változó tárolja majd find eredményét. Ezután meghívom a tömbnek a find függvényét. aminek paraméterként megadtam egy nyílfüggvényt. A nyílfüggvény első paramétere mindig az aktuális tömb elem.

A nyíl másik oldalán van a függvény törzse, ami egy feltétel, amiben meg fogom vizsgálni, hogy az aktuális elem egyenlő-e százzal. Ha igen, akkor visszaadja a find ezt az elemet és be is fejezni a melót. Ellenkező esetben megy tovább, amíg teszi, vagy pedig addig, ameddig a tömb végére nem tér.

Ha true a feltétel eredménye, akkor a find visszaadja az elemet. Ez be is kerül az "arrayExample" változóba. Ha false a feltétel eredménye, akkor pedig megy tovább.

const arrayExample = example.find((arr) => arr === 100)
// Expected output: 100
 
const arrayExample = example.find((item) => item > 10)
// Expected output: 100

A konzolban megint csak 100-at látunk. Tehát tényleg megált a find az első találatnál.

A find-on belül alkalmazott nyílfüggvény paraméterei a következők:

  • Az első paraméter kötelezően megadandó. Ez az aktuálisan feldolgozandó tömb elem.
  • A második paraméter megadása nem kötelező. Ez az aktuális elem indexét jelenti. Fontos, hogy ez nem a megtalálta elem indexét jelenti. Ha a talált elem indexére van szükség, akkor a findIndex függvény a barátnak.
  • A harmadik paraméter, ami szintén opcionális, az maga az eredeti tömb.

Magának a find függvénynek a második, nem kötelező paramétere, pedig egy referencia (this) arra az objektumra, amit az első paraméterben megadott callback függvényen belül használunk.

Szintaxis

find(callbackFn)
find(callbackFn, thisArg)

Példa

const array1 = [5, 12, 8, 130, 44]
 
const found = array1.find((element) => element > 10)
 
console.log(found)
// Expected output: 12
in this article
back to top