References
Array.includes()
Leírás
Az includes
függvény működése eltér a többi korábbi tömbfüggvény működéséhez képest.
Az includes
függvénnyel el tudjuk dönteni, hogy egy adott érték benne van-e egy tömbben vagy nincs. Ilyen válasz esetén true
a visszatérési érték, semleges válasz pedig false
-t eredményez.
A függvénynek két paramétere van. Az első kötelező. Ez a vizsgálandó elem, ami bármilyen érték lehet. A második paraméter megadása nem kötelező. Ez egy szám, hogy az includes hányadik elemtől kezdje a keresést.
Először a 2 értéket, majd a 10 értéket fogom megkerestetni a függvénnyel (az eredményt azonnal a konzolba küldöm).
Nem lesz meglepetés a végeredmény. Az első esetben true
-t kapunk, mert a 2-őt keressük a legelső elemtől, aminek az indexe 0.
A második hívás pedig false-
t ad vissza. Ugyanis bár szintén a 2-őt keresem, de megmondtam a függvénynek, hogy a 3 indexű elemtől kezdje a keresést, ami a tömbben a 4-es elem. Tehát ez includes
fogta magát, és a 4-től kezdve vizsgálata, hogy a 2 benne van-e a tömbben. És mivel nem találta, false
-t adott vissza.
Szóval az objektumok referencia típusok vagyis ha egy objektumot el akarnak érni, akkor a rá mutató hivatkozásra van szükség. Ezért amikor az includes
-nek átadtam a {id: 2}
objektumot, akkor az egy teljesen másik objektum, mint ami a tömbön belül van. Ez egy tök más objektum a memóriában, a kettőnek köze nincs egymáshoz, noha a kulcs és az érték is egyezik. Nekünk a tömbön belüli objektumra mutató hivatkozás kell.
Szóval így a helyes:
Létrehoztam egy változót és beállítottam, hogy mutasson az tömbben lévő {id: 2}
objektumra. Így az includes
-nak magát a hivatkozást adtam át, ami tényleg arra az objektumra mutat, ami a tömbben hesszel.