JavaScript Arrays : Pagsabut sa pagpakunhod function

syntax

arr.reduce(callbackFunction, [initialValue])

Unsay pagpakunhod sa pagbuhat sa?

Pagpakunhod mao ang usa ka function nga galong pinaagi sa usa ka gubat.

Operations mahimong gihimo sa gubat pinaagi sa usa ka callback function.

Sa katapusan sa mga operasyon sa gubat, pagpakunhod mobalik sa usa ka bili

Pagpakunhod mahimong gamiton, pananglitan, sa mokabat sa usa ka shopping carromata

Panig-ingnan

  himoa nga arr = [1,2,3,4,5];
  arr.reduce( (accumulator, currentValue, currentIndex, gubat) => { 
      //sa pipila ka mga operasyon;
      mobalik sa usa ka butang;
  });

 

Ang Callback Function

Ang callback function ang gisangpit alang sa matag elemento sa gubat, agi sa 4 mga argumento nga miagi sa mga pagpakunhod function.

Kini nga mga 4 argumento unya magamit sa atong callback function.

Nagkinahanglan upat ka mga argumento

  1. accumulator – Ang unang elemento sa gubat sa ibabaw sa mga unang loop o inisyal nga bili kon gitagana. Unya ang mibalik bili sa miaging loop.
  2. currentValue – Ang kasamtangan nga elemento sa gubat. Magsugod gikan sa ikaduhang elemento sa gubat ie. arr[1], sa diha nga ang inisyal nga bili argumento dili milabay. Kon ang inisyal nga bili argumento miagi unya kasamtangang bili magsugod gikan sa 1st nga elemento sa sa gubat arr[0].
  3. currentIndex – Ang index sa mga kasamtangan nga nga elemento.
  4. gubat – Ang bug-os nga gubat.

Working Panig-ingnan

himoa nga arr = [1,2,3,4,5];

arr.reduce(
  (accumulator, currentValue, currentIndex, gubat) => {
    console.log(`accumulator (Sa 1st loop, accumulator mao arr[0], nan kini mao ang mibalik nga bili sa sa miaging loop): ${accumulator}`);
    console.log(`currentValue (Galong pinaagi sa gubat, sugod sa arr[1]): ${currentValue}`);
    console.log(`currentIndex: ${currentIndex}`);
    console.log(`gubat: ${gubat}`);
    console.log('---');
    pagbalik accumulator + currentValue;
  }
);

output

accumulator (Sa 1st loop, accumulator mao arr[0], nan kini mao ang mibalik nga bili sa sa miaging loop): 1
currentValue (Galong pinaagi sa gubat, sugod sa arr[1]): 2
currentIndex: 1
gubat: 1,2,3,4,5
---
accumulator (Sa 1st loop, accumulator mao arr[0], nan kini mao ang mibalik nga bili sa sa miaging loop): 3
currentValue (Galong pinaagi sa gubat, sugod sa arr[1]): 3
currentIndex: 2
gubat: 1,2,3,4,5
---
accumulator (Sa 1st loop, accumulator mao arr[0], nan kini mao ang mibalik nga bili sa sa miaging loop): 6
currentValue (Galong pinaagi sa gubat, sugod sa arr[1]): 4
currentIndex: 3
gubat: 1,2,3,4,5
---
accumulator (Sa 1st loop, accumulator mao arr[0], nan kini mao ang mibalik nga bili sa sa miaging loop): 10
currentValue (Galong pinaagi sa gubat, sugod sa arr[1]): 5
currentIndex: 4
gubat: 1,2,3,4,5
---

 

Paghatag og sa inisyal nga bili

Specifying sa ikaduha nga sukaranan (initialValue) sa pagpakunhod sa function ang hinungdan initialValue nga miagi sa ingon sa mga accumulator argumento sa unang loop.

Timan-i nga ang kasamtangang bili sa 1st loop karon magsugod sa unang elemento sa gubat

Working Panig-ingnan

  himoa nga arr = [1,2,3,4,5];

  arr.reduce(
  (accumulator, currentValue, currentIndex, gubat) => {
    console.log(`accumulator ( Sa 1st loop, mao kini ang una nga bili, nan ang mibalik bili sa miaging loop): ${accumulator}`);
    console.log(`currentValue (Galong pinaagi sa gubat, sugod sa arr[0]): ${currentValue}`);
    console.log(`currentIndex: ${currentIndex}`);
    console.log(`gubat: ${gubat}`);
    console.log('---');
    pagbalik accumulator + currentValue;
  }, 0
);

output

accumulator ( Sa 1st loop, mao kini ang una nga bili, nan ang mibalik bili sa miaging loop): 0
currentValue (Galong pinaagi sa gubat, sugod sa arr[0]): 1
currentIndex: 0
gubat: 1,2,3,4,5
---
accumulator ( Sa 1st loop, mao kini ang una nga bili, nan ang mibalik bili sa miaging loop): 1
currentValue (Galong pinaagi sa gubat, sugod sa arr[0]): 2
currentIndex: 1
gubat: 1,2,3,4,5
---
accumulator ( Sa 1st loop, mao kini ang una nga bili, nan ang mibalik bili sa miaging loop): 3
currentValue (Galong pinaagi sa gubat, sugod sa arr[0]): 3
currentIndex: 2
gubat: 1,2,3,4,5
---
accumulator ( Sa 1st loop, mao kini ang una nga bili, nan ang mibalik bili sa miaging loop): 6
currentValue (Galong pinaagi sa gubat, sugod sa arr[0]): 4
currentIndex: 3
gubat: 1,2,3,4,5
---
accumulator ( Sa 1st loop, mao kini ang una nga bili, nan ang mibalik bili sa miaging loop): 10
currentValue (Galong pinaagi sa gubat, sugod sa arr[0]): 5
currentIndex: 4
gubat: 1,2,3,4,5
---