103 of 264 menu

Mbinu ya map

Mbinu map inaruhusu kutumia kitendakazi kilichobainishwa kwa kila kipengele cha safu (array). Wakati huo, mbinu haibadili safu asilia, bali inawarudisha ile iliyobadilika.

Mbinu hupokea kitendakazi kwenye kigezo, ambacho kitatekelezwa kwa kila kipengele cha safu (array). Kile kitakachorudishwa na kitendakazi hicho kupitia return kwa kipengele cha safu, kitakuwa thamani mpya ya kipengele hicho (angalia mifano).

Kwa kitendakazi kunaweza kupitishwa 3 vigezo. Ikiwa vigezo hivi vipo (sio lazima), basi kwa kigezo cha kwanza kitaingia moja kwa moja kipengele cha safu, kwa cha pili kitaingia nambari yake kwenye safu (index), na kwa cha tatu - safu yenyewe.

Syntax

let safu_mpya = safu.map(function(kipengele, index, safu) { code return kipengele_kilibadilika; });

Mfano

Wacha tuunde safu, ambapo kila kipengele chake kina ukubwa mara mbili ya kipengele sambamba cha safu ya mwanzo:

let arr = [1, 2, 3, 4, 5]; let res = arr.map(function(elem) { return elem * 2; }); console.log(res);

Matokeo ya utekelezaji wa code:

[2, 4, 6, 8, 10]

Mfano

Wacha tuunde safu, ambapo kila kipengele chake kinapatikana kama ifuatavyo - thamani ya kipengele inazidishwa kwa nambari yake ya mlolongo kwenye safu:

let arr = [1, 2, 3, 4, 5]; let res = arr.map(function(elem, index) { return elem * index; }); console.log(res);

Matokeo ya utekelezaji wa code:

[0, 2, 6, 12, 20]

Mfano

Ikiwa ni lazima, kwa kigezo cha tatu kunaweza kupitishwa safu yenyewe:

let arr = [1, 2, 3, 4, 5]; let res = arr.map(function(elem, index, arr) { hapa safu arr itapatikana });

Mfano

Mbinu map inaweza kutumika pia kwa kupitia safu zenye tabaka nyingi (multidimensional arrays). Hebu, kwa mfano, iwe kuna safu kama hii:

let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

Wacha tupitie safu hii kupitia map na tuonyeshe viperengele vyake kwenye konsole:

let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; let result = arr.map(function(elem) { console.log(elem); });

Kama matokeo console.log itaonyesha [1, 2, 3], kisha [4, 5, 6], kisha [7, 8, 9].

Kama unavyoona, kwenye variable elem huingia safu ndogo (subarrays). Sasa wacha tutumie mbinu map kwa kila safu ndogo na tuinue kila kipengele chake kwa mraba:

let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; let result = arr.map(function(elem) { return elem.map(function(num) { return num * num; }); }); console.log(result);

Angalia pia

  • mbinu forEach,
    ambayo hutumia kitendakazi kwa kila kipengele cha safu (array)
  • mbinu filter,
    ambayo inaruhusu kuchuja viperengele vya safu (array)
  • mbinu some na every,
    zinatekeleza ukaguzi wa safu (array)
  • mbinu reduce na reduceRight,
    zinazokunja safu (array) kwa thamani moja
Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa