JavaScript tömb szűrés, egyéb hasznos függvények

JavaScript Web

Modern iteráció, tömb bejárás

    A for (let i = 0; i < tomb.length; i++) helyett használható modern, olvashatóbb iterációs metódusok

    MetódusLeírásPélda
    forEach()Végrehajt egy függvényt a tömb minden elemén. Nincs visszatérési értéke.tomb.forEach(elem => console.log(elem));
    for...ofA legegyszerűbb módszer az elemek bejárására.for (const elem of tomb) { ... }
    for...inFIGYELEM! A tömb indexeit adja vissza. Objektumokhoz ajánlott.for (const index in tomb) { ... }

    Nem-módosító (Non-Mutating) Funkcionális Metódusok

    Ezek a metódusok új tömböt adnak vissza, az eredeti tömböt érintetlenül hagyva. Ez a funkcionális programozás elvének felel meg, ami tisztább és hibamentesebb kódot eredményez.

    map() – transzformáció

    A map() metódus minden elemre végrehajt egy művletet. Az eredményből új tömböt hoz létre

    filter() – szűrés

    A filter() metódus segítségével egy új tömböt hozhatunk létre azokkal az elemekkel, amelyek megfelelnek a megadott feltételnek. Ez egy tisztán funkcionális módszer.

    reduce() – akkumulálás

    Végrehajt egy redukáló függvényt a tömb minden elemén, és egyetlen összegzett értéket (pl. összeg, átlag) ad vissza.

    Keresés és tesztelés

    find()

    A find() metódus az első olyan elemet adja vissza, amely megfelel a feltételnek. Ha nincs ilyen, akkor undefined az eredmény.

    findIndex()

    A findIndex() metódus visszaadja annak az első elemnek az indexét, amely megfelel a feltételnek. Ha nincs találat, -1-et ad vissza.

    includes()

    Ellenőrzi, hogy a tömb tartalmazza-e a megadott értéket. true/false a visszatérési érték.

    some() és every()

    A some() metódus igaz értéket ad vissza, ha a tömb legalább egy eleme megfelel a feltételnek.
    Az every() metódus akkor ad vissza igaz értéket, ha a tömb összes eleme megfelel a feltételnek.

    includes() + filter()

    az includes() önmagában nem szűr, de gyakran használjuk más metódusokkal, például a filter()-rel együtt. Segítségével meghatározzuk, a tömb tartalmaz-e bizonyos értékeket vagy nem.

    map() + filter()

    a map() elsősorban az elemek átalakítására szolgál, de kombinálva a filter()-rel komplex szűrési feltételek létrehozására is használható. pl: számoljuk ki az eredetiTomb értékeinek kétszeresét, majd gyűjtsük ki az ötnél nagyobb számokat!

    példa map() és filter() használatára

    Módosító metódusok

    Ezekről már volt szó: push, pop, shift, unshift. Rajtuk kívül még ide tartozik:

    slice(), splice()

    slice() egy tömb egy részét kivágjuk bizonyos indexek alapján. Az eredeti tömböt nem módosítja.
    splice() A legerősebb módosító metódus: hozzáad, töröl vagy kicserél elemeket a tömb bármely pontján.

    flatMap()

    A flatMap() metódus kombinálja a map() és a flat() műveleteket, és használható összetett szűrési és átalakítási feladatokra. Először végrehajt egy leképező (map) függvényt a tömb minden elemén. Ezután lapítja (flat) az eredményt, de csak egy szint mélységig.

    Tegyük fel, hogy van egy szövegünk, és szeretnénk egyetlen ‘lapos’ tömböt kapni az összes szóból:

    forEach(), for() és manuális szűrés

    A forEach() és for() metódussal manuálisan is létrehozhatunk egy új tömböt, ahol minden elemet egy feltétel alapján vizsgálunk meg, és csak a megfelelő elemeket adjuk hozzá.
    A for() hosszadalmasabb, szükséges a számláló (i) manuális kezelése és a tömb hosszának ellenőrzése. Teljes vezérlést biztosít. Lehetővé teszi a ciklus megszakítását (break) vagy egy iteráció kihagyását (continue) feltétel alapján. Gyors.

    A forEach() egy beépített tömbmetódus, amely egy callback függvényt hajt végre a tömb minden elemén. Nem szakítható meg (nincs break vagy continue). A teljes tömbön végigfut.