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

  1. 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.
  2. 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].
  3. currentIndex – Az index az aktuális elem.
  4. 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
---