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
- 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.
- 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].
- currentIndex – Ang index sa mga kasamtangan nga nga elemento.
- 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 ---
