Kedves barátaim! Ebben a cikkben elmagyarázom a Javascript Reduction() metódusát. A redukciós módszer a tömb módszerek egyike. De a Reduce módszer egy kicsit bonyolultabb, mint a többi tömb módszer.
A Reduce módszer definíciója
A Reduction() metódus minden tömbelemre redukáló függvényt alkalmaz, és egyetlen értéket ad vissza.
A Reduce funkció működése
A redukciós függvény visszahívásában a következő részek szerepelnek.
- akkumulátor
- jelenlegi érték
- currentIndex (opcionális)
- tömb (opcionális)
- kezdeti érték (nem kötelező)
akkumulátor:
Az akkumulátor összegyűjti a visszahívási függvény visszatérési értékét. Ha van kezdetiértéke, akkor a visszahívási függvényben az első gyűjtőérték legyen az inicializált érték, ellenkező esetben ez legyen a tömb első eleme.
jelenlegi érték:
A tömbben jelenleg feldolgozás alatt álló elem.
jelenlegi index:
A tömbben feldolgozott aktuális elem indexe. Ez egy opcionális mező.
sor:
A redukciós módszerrel átadott tömb. Ez egy opcionális mező.
kezdő érték:
A initialvalue
használatával állítsa be az első visszahívási függvény első argumentumát. Ha nincs initialValue
, akkor a tömb első elemét initialValue
-nak veszi. Ez egy opcionális mező.
Ha üres tömböt adott át a reduce()
metódusban initialValue
nélkül, akkor TypeError-t dob.
A redukció() metódussal több dolgot is elérhetünk. De itt mondok két példát.
1. példa:
Ebben az egyszerű példában megkapjuk a tömbelem összegét.
Hagyományos megközelítés:
A fenti példakódban a for-loop
használatával megkaphatjuk a tömbelemek összegét. De itt több kódot kell írnunk.
A tömbelemek összegét egyetlen kódsorban a reduce()
metódussal hajtjuk végre.
Csökkentési módszer:
A fenti példában 0-t állítottunk be a initialValue
értékhez. Az alábbi képen látható, hogyan történik a accumulator
és currentValue
feldolgozása a ciklusban minden alkalommal.
2. példa:
Az objektum szerkezetének megváltoztatása redukciós módszerrel.
A fenti példában megváltoztattam az objektum sorrendjét. A id
az objektumtömb egyedi értéke. Most megváltoztatta a id
kulcsot, és hozzárendelte az objektumot a id
-hoz.
Ebben a cikkben csak két különböző példát adtam a Reduction() használatával. De több dolgot is megtehetünk a redukció().
Köszönöm hogy elolvastad. Legyen szép napod.