5 of 17 menu

Kosa la Kubadilisha Kipengele cha Safu katika JavaScript

Wacha tuzingatie kosa linalotokea wakati wa kubadilisha kipengele cha safu visivyyo. Hebu tuwe na safu kama hii:

let arr = [1, 2, 3, 4, 5];

Hebu tuwe pia na kitendakazi kinachokubali nambari kigezo na kurudisha mraba wa nambari hiyo:

function func(num) { return num ** 2; }

Wacha tutumie kitanzi for-of kuzunguka safu yetu na kutumia kitendakazi chetu kwa kila kipengele chake:

for (let elem of arr) { elem = func(elem); }

Hapa ndio wanaoanza mara nyingi hufanya kosa. Jambo ni kwamba kubadilisha kitofautishi elem hakileti mabadiliko kwenye kipengele katika safu yenyewe. Hebu tuhakikishe hili:

console.log(arr); // safu haijabadilika

Safu haibadilika kwa sababu katika kitofautishi elem imehifadhiwa nakala ya kipengele, si kiungo kwake. Kubadilisha elem huathiri nakala, lakini si safu yenyewe.

Ili kutatua tatizo inahitajika kubadilisha vipekee vya safu yenyewe:

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // sasa safu imebadilika
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