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:

javascriptfunction each(arr, callback) {
  // kuna baadhi ya kodi hapa
}

Hebu tuandike utekelezaji wa kitendo chetu:

javascriptfunction 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:

javascriptlet 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:

javascriptlet result = each([1, 2, 3, 4, 5], function(num) {
  return num ** 3;
});

console.log(result);
Задание 1

Imewekwa safu ya data na nambari. Kwa kutumia kitendo tulichokiumba each ongeza kila kipengele mara mbili.

Задание 2

Imewekwa safu ya data na masharti. Kwa kutumia kitendo tulichokiumba each geuza herufi za kila mstari kwa mpangilio wa nyuma.

Задание 3

Imewekwa safu ya data na masharti. Kwa kutumia kitendo tulichokiumba each fanya herufi kubwa herufi ya kwanza ya kila mstari.