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