A leghasznosabb tömbfüggvények


Map

A map function az egy tömb elemeinek az átalakítására való.

A bemeneti és kimeneti értékek típusai így írhatóak le általánosságban:

map :: (Array<a>, (a) -> b) -> Array<b>

 

Tehát a map function vár bemenetként:

  1. Egy tömböt, benne "a" típusú elemekkel
  2. Egy függvényt ami egyetlen a-ból b-t csinál.

Ha ezt a kettőt megkapta, akkor kimenetként visszaküld egy tömbnyi típusú elemet.

 

A bemeneti tömbben lévő elemek típusa (a) megegyezhet, a kimeneti tömbben lévő elemek típusával (b).
Pl:
(Array<Number>, (Number) -> Number) -> Array<Number>

 

Sokszor előfordul azonban, hogy a bemeneti tömbben lévő elemek típusa (a), eltér a kimeneti tömbben lévő értékek típusától (b).
Pl: (Array<Comment>, (Comment) -> ReactListItem) -> Array<ReactListItem>

 

 

Egy JavaScriptes példa keretében mappeljük át a stringeket az egyes stringek karaktereinek számára:

["Sanyi", "József", "Dániel", "Béla", "János"].map(nev => nev.length);

Végeredmény: [5, 6, 6, 4, 5]

 

Megoldás PHP-ban:

array_map("strlen", ["Sanyi", "József", "Dániel", "Béla", "János"]);

 

Filter

A filter function az egy tömb elemeinek megszűrésére való.

A bemeneti és kimeneti értékek típusai így írhatóak le általánosságban:

filter :: (Array<a>, (a) -> boolean) -> Array<a>

 

 

Reduce

A reduce function tömb az egy elemeinek aggregálására való.

Tehát az előző array methodokhoz képest abban különbözik, hogy egyetlen összesített értékkel tér vissza.

A kimenet előállításához szüksége van a teljes tömbre, egy aggregáló függvényre és egy kiinduló értékre.

 

 

Teljes videó:

 

Ajánlott cikk: Objektum orientáltság kezdőknek

A weboldalunkon cookie-kat használunk, hogy a legjobb felhasználói élményt nyújthassuk. Részletes leírás »