⊗jsPmFNClb 255 of 505 menu

JavaScript да функция-коллбэклар

Функцияларни бошқа функцияларга параметр сифатида ўтказиш мумкин. Буңдай функция-параметрлар коллбэклар (callback) деб аталади. Келинг улар билан ишлашни мисолда кўрамиз.

Фараз қилайлик, биз функция ясамоқчимиз, унинг биринчи параметри массив, иккинчиси эса коллбэк бўлиб, у ҳар бир массив элементига қўлланилади:

function each(arr, callback) { // бу ерда қандидир код }

Функциямизнинг реализациясини ёзайлик:

function each(arr, callback) { let result = []; for (let elem of arr) { result.push( callback(elem) ); // функция-коллбэкни чақирамиз } return result; }

Бизнинг each функциямиз универсал. Демак, биз унга турли хил коллбэкларни ўтказиб, массивлар устида турли амаллар бажаришимиз мумкин. Бу ҳолда функциямизнинг коди ўзгармас қолади - фақат ўтказилаётган коллбэкларгина ўзгаради.

Келинг, мисол учун бизнинг функция ёрдамида бирор массивнинг ҳар бир элементини квадратга кўтарамиз. Бунинг учун мос келувчи коллбэкни параметр сифатида ўтказамиз:

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

Энди эса массив элементларини кубга кўтарамиз. Бунинг учун параметр сифатида бу амални бажарадиган бошқа бир коллбэкни ўтказамиз:

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

Сонлардан иборат массив берилган. Биз ясаган each функциямиз ёрдамида ҳар бир элементни икки баробарга оширинг.

Сатрлардан иборат массив берилган. Биз ясаган each функциямиз ёрдамида ҳар бир сатрнинг белгиларини тескари тартибда айлантиринг.

Сатрлардан иборат массив берилган. Биз ясаган each функциямиз ёрдамида ҳар бир сатрнинг биринчи белгисини катта ҳарф қилинг.

Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш