Every JavaScript Array Methods

author
6 minutes, 47 seconds Read

ES6 Methods

ES6

ES6, ami az ECMAScript 6 rövidítése, a JavaScript 2015 júniusában megjelent változata. Úgy tűnik, a JavaScriptet karbantartó fejlesztők kedvelik a születési hónapomat, mert a legtöbb verziójukat ekkor adták ki.

Ha még csak most tanulod a JavaScriptet, az ES6 sokkal könnyebbé teszi az életed. Nemcsak tömbmetódusokat biztosít, hanem többek között olyan dolgokat is, mint a destrukturálás, a nyílfüggvények, az objektumorientált és moduláris kód írásának jobb módja.

A legtöbb ilyen ES6 tömbmetódus egy visszahívási függvényt fogad el, és ennek eredményeképpen magasabb rendű tömbmetódusoknak nevezik őket. A nyílfüggvények nagyon gyakoriak a magasabb rendű függvényekben, mivel egyszerűsítik a kódunkat

A map metódus

Ha van olyan ES6 tömbmetódus, amelyet szinte mindig használni fogsz, akkor ez a metódus az. Ez a legjobb tömbmetódusom mind JavaScriptben, mind Pythonban. Bár néhány JavaScript-fejlesztő már az ES6 előtt megpróbálta implementálni a map módszert, a szabványos map metódust az ES6-ban vezették be a JavaScriptben. Az alábbi kódrészletben háromféleképpen valósítottam meg a map-et:

  • A szokásos JavaScript függvények használatával: Itt két argumentumot adtam át a függvénynek, először item, ami az az elem, amivel valamit csinálni akarok, és egy opcionális argumentumot, index, ami az egyes elemek indexe
  • Nyílfüggvények használatával: Én is két argumentumot adtam át, akárcsak az első példában, de a visszahívó függvény itt is egy nyílfüggvény, ami sokkal rendezettebbé teszi a kódot.
  • Én is használtam nyílfüggvényeket, de csak egy argumentumot adtam át – az elemet, amelyen iterálni akarok. Ez akkor hasznos, ha nincs szükségem az indexre.

A szűrő módszer

A filter módszer egy másik magasabb rendű tömb módszer, amelyet ma már érdemes használni. Amit a filter tesz, az egyszerű. Adott egy elemekből álló tömb, a kezdeti tömbből egy új tömböt akarunk visszaadni, ahol egy bizonyos feltétel true. A visszahívó függvénynek egy boolean értéket kell visszaadnia, és a feltételnek engedelmeskedő elem lesz az, ami az új tömbben lesz.

A reduce módszer

Ez nagyon szép, és szerintem az eddig említett módszerek közül ez a legnehezebb. Amit ez a módszer csinál, az az, hogy egy bizonyos visszahívást használ a tömb csökkentésére. Ha például egy tömb összes elemének összegét vagy egy tömb összes elemének szorzatát akarom megtalálni, akkor ez a módszer egy szép módszer, ahelyett, hogy a kezdeti összeg vagy szorzat körbejárása és inkrementálása helyett ezt a módszert használnám.

A forEach módszer

Ez a módszer hasonló a map módszerhez, de ebben az esetben nem ad vissza új tömböt. Ez inkább a szokásos for ciklus a JavaScriptben, de tisztább és fejlettebb módon. Három paramétert vesz fel, ahogyan azt már tudhattad. Az első a tömbben lévő elem, a második az elem indexe (ami opcionális), a harmadik pedig az a tömbobjektum, amelyhez az aktuális elem tartozik.

A lenti kódrészletben a forEach segítségével manipuláltam a Document Object Model-t (DOM), ami elég menő. Frissíthetem a tömböt, és a DOM-on megjelenített listaelemek automatikusan megváltoznak.

A concat módszer

Vannak olyan esetek, amikor két vagy több tömböt szeretnénk egyesíteni vagy egyesíteni. Ilyenkor ez a függvény nagyon hasznos lesz. A concat hívása két tömbre egy új tömböt eredményez, amely a két tömb egyesítéséből áll.

A minden és néhány módszer

Ezek a módszerek akkor hasznosak, ha tudni akarjuk, hogy egy tömb minden eleme megfelel-e egy feltételnek, illetve ha egy tömb egyes elemei megfelelnek egy feltételnek.

A többi módszer a következő:

A fill módszer

A tömb minden elemét kitölti egy paraméterként átadott értékkel: .fill(1) // .

A bejegyzések metódus

Ezzel a tömb úgy viselkedik, mint egy kulcs-érték párral rendelkező objektum, ahol a kulcs az index, az érték pedig az elem.

A keresés metódus

Ez a metódus a tömb első olyan elemét adja vissza, amely megfelel egy tesztnek. Egy callback függvényt vesz fel, amely egy boolean értéket ad vissza.

A splice módszer

Ez a módszer végtelen számú paramétert vesz fel – az első kettő az index, ahol az elemek beszúrását és eltávolítását el akarjuk kezdeni, illetve az eltávolítandó elemek száma -, a többi paraméter pedig a tömbhöz hozzáadni kívánt elemek. Visszaadja az eltávolított elemek tömbjét, és mutálja a tömböt.

A fordított módszer

A fordított módszer megfordítja a tömböt. Megjegyezzük, hogy mutálja, azaz megváltoztatja a tömböt, ahelyett, hogy csak egy másolatot hozna létre belőle.

A join-módszer

Ez a módszer egy tömböt egy tömbből egy karakterláncba fordít. Vegyük észre, hogy nem mutálja a tömböt – csak egy másolatot készít belőle. Ennek a metódusnak a fordítottja a split metódus, amely egy karakterláncot alakít tömbtá. Paraméterként egy sztringet fogad el, amely a tömb minden egyes elemének összekapcsolására szolgál.

A flat módszer

A flat módszer egy új módszer, amely az ES11-ben jelent meg (az ES11 idén júniusban jött létre). Ez a módszer egy tömböt laposít.

Tegyük fel, hogy van egy tömbünk, amely tartalmaz egy tömböt, és meg akarjuk találni a tömbön belüli tömbök minden elemének összegét és szorzatát. Ez alatt azt értem, hogy ha van egy tömböm, amelyet a , ] határoz meg, akkor az összegnek 10-nek, a szorzatnak pedig 24-nak kell lennie.

Egyik módja ennek az, hogy végighaladunk a kezdeti tömbön, és minden elemen végighaladva megkapjuk az összeget és a szorzatot.

Az ES6 segítségével végighaladhatok a kezdeti tömbön, és a reduce módszerrel megkapom a főtömb minden elemének összegét és szorzatát – ennek segítségével megkapjuk a teljes összeget és szorzatot. De a flat tömb esetében a főtömböt le is lapozhatom, így egyetlen, csak számokat tartalmazó tömböt kapok vissza, és ezen használhatom a reduce metódust.

A flatMap metódus

Ez a flat és a map kombinációja. A tömb minden egyes elemét leképezi egy adott visszahívási függvényre, majd az így kapott tömböt ellaposítja.

Tegyük fel, hogy egy nem lapított tömb minden egyes elemének a négyzetét szeretnénk megkapni, és ezt szeretnénk ellapítani. Ez a módszer megkönnyíti az életünket. Abban a részben, ahol az alábbi kódrészletben a flatMap metódust használtam, az egy elemet vesz, ami egy tömb, és egy új tömböt adtam vissza, ami az elemek négyzete. Végül pedig a kapott tömböt ellaposítja.

Similar Posts

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.