Vitendo-vya-Kollbeki katika JavaScript
Vitendo vinaweza kupitishwa kama vigezo katika vitendo vingine. Vitendo kama hivyo-vigezo vinaitwa vikollbeki (callback). Hebu tuangalie kazi pamoja nao kwa mfano.
Wacha tuseme tunataka kutengeneza kitendo ambacho kigezo cha kwanza kitakubali safu ya data (array), na cha pili - kikollbeki, ambacho kitatumika kwa kila kipengele cha safu ya data:
function each(arr, callback) {
// kuna baadhi ya kodi hapa
}
Hebu tuandike utekelezaji wa kitendo chetu:
function each(arr, callback) {
let result = [];
for (let elem of arr) {
result.push( callback(elem) ); // tunaita kitendo-kikollbeki
}
return result;
}
Kitendo chetu each - cha ulimwengu wote.
Hii inamaanisha kuwa tunaweza kupitisha ndani yake
vikollbeki tofauti, tukitekeleza shughuli tofauti
kwenye safu za data. Wakati huo huo kodi ya kitendo chetu kitabaki
bila kubadilika - ni tu
vikollbeki vitakavyobadilika.
Hebu kwa mfano kwa kutumia kitendo chetu tuweke kipeo cha pili kila kipengele cha safu yoyote ya data. Ili kufanya hivyo tutapita kama kigezo kikollbeki kinachofanana:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 2;
});
console.log(result);
Sasa tuweke kipeo cha tatu vipelele vya safu ya data. Ili kufanya hivyo kama kigezo tutapitisha kikollbeki tofauti, kinachotekeleza shughuli hii:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 3;
});
console.log(result);
Imewekwa safu ya data na nambari. Kwa kutumia kitendo
tulichokiumba each ongeza kila
kipengele mara mbili.
Imewekwa safu ya data na masharti. Kwa kutumia kitendo
tulichokiumba each geuza herufi
za kila mstari kwa mpangilio wa nyuma.
Imewekwa safu ya data na masharti. Kwa kutumia kitendo
tulichokiumba each fanya herufi kubwa
herufi ya kwanza ya kila mstari.