JavaScript Eagair : Tuiscint fheidhm an laghdú

Comhréir

arr.reduce(callbackFunction, [initialValue])

Cad a dhéanann laghdú a dhéanamh?

Is Laghdú feidhm a lúba trí eagar.

Is féidir le Oibríochtaí a dhéanamh ar an sraith trí fheidhm callback.

Ag deireadh na n-oibríochtaí ar an eagar, laghdú tuairisceáin a luach aonair

Laghdú a úsáid, mar shampla, chun iomlán a cart siopadóireachta

Sampla

  a ligean arr = [1,2,3,4,5];
  arr.reduce( (accumulator, luach reatha, currentIndex, eagar) => { 
      //roinnt oibríochtaí;
      rud éigin ar ais;
  });

 

An Fheidhm callback

Is é an fheidhm callback agairt i leith gach gné san eagar, dul in 4 hargóintí a ritheadh ​​sa ag an bhfeidhm a laghdú.

Tá na 4 Is féidir le argóintí a úsáid ansin in ár bhfeidhm callback.

Glacann ceithre argóintí

  1. accumulator – An chéad eilimint de na eagar ar an gcéad lúb nó an luach tosaigh dá sholáthraítear. Ansin, an luach ar ais an lúb roimhe.
  2. luach reatha – An ghné atá ann faoi láthair sa sraith. Tosaigh as an dara eilimint sa eagar ie. arr[1], nuair nach bhfuil an argóint luach tosaigh a rith. Tosaíonn Má tá an argóint luach tosaigh a rith luach tráth sin ón eilimint 1 sa Arr eagar[0].
  3. currentIndex – An t-innéacs ar an eilimint atá ann faoi láthair.
  4. eagar – An sraith iomlán.

Obair Sampla

a ligean arr = [1,2,3,4,5];

arr.reduce(
  (accumulator, luach reatha, currentIndex, eagar) => {
    console.log(`accumulator (Ar an 1 lúb, Is accumulator arr[0], ansin is é an luach ar ais an lúb roimhe): ${accumulator}`);
    console.log(`currentValue (Lúb tríd an eagar, ag tosú ag arr[1]): ${luach reatha}`);
    console.log(`currentIndex: ${currentIndex}`);
    console.log(`eagar: ${eagar}`);
    console.log('---');
    ais accumulator + luach reatha;
  }
);

aschur

accumulator (Ar an 1 lúb, Is accumulator arr[0], ansin is é an luach ar ais an lúb roimhe): 1
luach reatha (Lúb tríd an eagar, ag tosú ag arr[1]): 2
currentIndex: 1
eagar: 1,2,3,4,5
---
accumulator (Ar an 1 lúb, Is accumulator arr[0], ansin is é an luach ar ais an lúb roimhe): 3
luach reatha (Lúb tríd an eagar, ag tosú ag arr[1]): 3
currentIndex: 2
eagar: 1,2,3,4,5
---
accumulator (Ar an 1 lúb, Is accumulator arr[0], ansin is é an luach ar ais an lúb roimhe): 6
luach reatha (Lúb tríd an eagar, ag tosú ag arr[1]): 4
currentIndex: 3
eagar: 1,2,3,4,5
---
accumulator (Ar an 1 lúb, Is accumulator arr[0], ansin is é an luach ar ais an lúb roimhe): 10
luach reatha (Lúb tríd an eagar, ag tosú ag arr[1]): 5
currentIndex: 4
eagar: 1,2,3,4,5
---

 

Ag soláthar an luach tosaigh

Ag sonrú an dara paraiméadar (initialValue) Beidh san fheidhm a laghdú faoi deara initialValue a chur ar aghaidh sa mar an argóint accumulator ar an gcéad lúb.

Tabhair faoi deara go dtosaíonn an luach reatha ar an 1ú lúb anois ag an chéad ghné den eagar

Obair Sampla

  a ligean arr = [1,2,3,4,5];

  arr.reduce(
  (accumulator, luach reatha, currentIndex, eagar) => {
    console.log(`accumulator ( Ar an 1ú lúb, is é seo an luach tosaigh, ansin an luach ar ais an lúb roimhe): ${accumulator}`);
    console.log(`currentValue (Lúb tríd an eagar, ag tosú ag arr[0]): ${luach reatha}`);
    console.log(`currentIndex: ${currentIndex}`);
    console.log(`eagar: ${eagar}`);
    console.log('---');
    ais accumulator + luach reatha;
  }, 0
);

aschur

accumulator ( Ar an 1ú lúb, is é seo an luach tosaigh, ansin an luach ar ais an lúb roimhe): 0
luach reatha (Lúb tríd an eagar, ag tosú ag arr[0]): 1
currentIndex: 0
eagar: 1,2,3,4,5
---
accumulator ( Ar an 1ú lúb, is é seo an luach tosaigh, ansin an luach ar ais an lúb roimhe): 1
luach reatha (Lúb tríd an eagar, ag tosú ag arr[0]): 2
currentIndex: 1
eagar: 1,2,3,4,5
---
accumulator ( Ar an 1ú lúb, is é seo an luach tosaigh, ansin an luach ar ais an lúb roimhe): 3
luach reatha (Lúb tríd an eagar, ag tosú ag arr[0]): 3
currentIndex: 2
eagar: 1,2,3,4,5
---
accumulator ( Ar an 1ú lúb, is é seo an luach tosaigh, ansin an luach ar ais an lúb roimhe): 6
luach reatha (Lúb tríd an eagar, ag tosú ag arr[0]): 4
currentIndex: 3
eagar: 1,2,3,4,5
---
accumulator ( Ar an 1ú lúb, is é seo an luach tosaigh, ansin an luach ar ais an lúb roimhe): 10
luach reatha (Lúb tríd an eagar, ag tosú ag arr[0]): 5
currentIndex: 4
eagar: 1,2,3,4,5
---                                                                 

Leave a Reply