JavaScript tömbök : Megértése csökkentése funkció
Szintaxis
arr.reduce(callbackFunction, [initialValue])
Mit csinál csökkenti?
Reduce egy olyan funkció, amely végiglépked egy tömb.
Műveleteket lehet végrehajtani a tömb keresztül visszahívási funkció.
Végén a műveletek a tömb, csökkenti a megtérülést egyetlen értéket
Csökkentse lehet használni, például, hogy összesen egy bevásárlókocsi
Példa
hagyja arr = [1,2,3,4,5];
arr.reduce( (akkumulátor, jelenlegi érték, currentIndex, sor) => {
//egyes műveletek;
visszaküldeni valamit;
});
A visszahívási funkció
A visszahívási funkciót aktiválja minden egyes eleme a tömb, átadva 4 érveket, amelyeket átadott a csökkentése funkció.
Ezek 4 érveket, majd fel lehet használni a visszahívási függvény.
Úgy négy érvet
- akkumulátor – Az első elem a tömb első hurok, illetve kezdeti értékét, ha mellékelt. Ezután a visszaadott érték az előző ciklus.
- jelenlegi érték – Az aktuális elem a tömbben. Kezdődik a második elem a tömbben, azaz. arr[1], ha a kezdeti érték érv nem telt el. Ha a kiindulási érték argumentum vezetjük aktuális érték kezdődik az 1. elem a tömbben arr[0].
- currentIndex – Az index az aktuális elem.
- sor – Az egész tömb.
munkapélda
hagyja arr = [1,2,3,4,5]; arr.reduce( (akkumulátor, jelenlegi érték, currentIndex, sor) => { console.log(`akkumulátor (Az 1. hurok, akkumulátor van arr[0], akkor a visszaadott érték az előző ciklus): ${akkumulátor}`); console.log(`currentValue (Végiglépked a tömb, kezdve arr[1]): ${jelenlegi érték}`); console.log(`currentIndex: ${currentIndex}`); console.log(`tömb: ${sor}`); console.log('---'); visszatérés akkumulátor + jelenlegi érték; } );
teljesítmény
akkumulátor (Az 1. hurok, akkumulátor van arr[0], akkor a visszaadott érték az előző ciklus): 1 jelenlegi érték (Végiglépked a tömb, kezdve arr[1]): 2 currentIndex: 1 sor: 1,2,3,4,5 --- akkumulátor (Az 1. hurok, akkumulátor van arr[0], akkor a visszaadott érték az előző ciklus): 3 jelenlegi érték (Végiglépked a tömb, kezdve arr[1]): 3 currentIndex: 2 sor: 1,2,3,4,5 --- akkumulátor (Az 1. hurok, akkumulátor van arr[0], akkor a visszaadott érték az előző ciklus): 6 jelenlegi érték (Végiglépked a tömb, kezdve arr[1]): 4 currentIndex: 3 sor: 1,2,3,4,5 --- akkumulátor (Az 1. hurok, akkumulátor van arr[0], akkor a visszaadott érték az előző ciklus): 10 jelenlegi érték (Végiglépked a tömb, kezdve arr[1]): 5 currentIndex: 4 sor: 1,2,3,4,5 ---
Feltéve, hogy a kezdeti érték
Megadása a második paraméter (kezdő érték) A csökkentsék funkció hatására initialValue átadására, mint az akkumulátor érv az első hurok.
Megjegyezzük, hogy az aktuális érték az 1. hurok most kezdődik az első eleme a tömb
munkapélda
hagyja arr = [1,2,3,4,5]; arr.reduce( (akkumulátor, jelenlegi érték, currentIndex, sor) => { console.log(`akkumulátor ( Az 1. hurok, ez a kezdeti érték, akkor a visszaadott érték az előző ciklus): ${akkumulátor}`); console.log(`currentValue (Végiglépked a tömb, kezdve arr[0]): ${jelenlegi érték}`); console.log(`currentIndex: ${currentIndex}`); console.log(`tömb: ${sor}`); console.log('---'); visszatérés akkumulátor + jelenlegi érték; }, 0 );
teljesítmény
akkumulátor ( Az 1. hurok, ez a kezdeti érték, akkor a visszaadott érték az előző ciklus): 0 jelenlegi érték (Végiglépked a tömb, kezdve arr[0]): 1 currentIndex: 0 sor: 1,2,3,4,5 --- akkumulátor ( Az 1. hurok, ez a kezdeti érték, akkor a visszaadott érték az előző ciklus): 1 jelenlegi érték (Végiglépked a tömb, kezdve arr[0]): 2 currentIndex: 1 sor: 1,2,3,4,5 --- akkumulátor ( Az 1. hurok, ez a kezdeti érték, akkor a visszaadott érték az előző ciklus): 3 jelenlegi érték (Végiglépked a tömb, kezdve arr[0]): 3 currentIndex: 2 sor: 1,2,3,4,5 --- akkumulátor ( Az 1. hurok, ez a kezdeti érték, akkor a visszaadott érték az előző ciklus): 6 jelenlegi érték (Végiglépked a tömb, kezdve arr[0]): 4 currentIndex: 3 sor: 1,2,3,4,5 --- akkumulátor ( Az 1. hurok, ez a kezdeti érték, akkor a visszaadott érték az előző ciklus): 10 jelenlegi érték (Végiglépked a tömb, kezdve arr[0]): 5 currentIndex: 4 sor: 1,2,3,4,5 ---
