6 of 17 menu

Kosa ya Kuzuru Safu kwa kitanzi for-in katika JavaScript

Ili kuzuru safu inapaswa kutumiwa kitanzi for-of. Wakati mwingine, hata hivyo, wanaoanza kusoma hutatanishwa kujaribu kutumia kitanzi for-in. Hebu tuangalie ishara za kawaida za kosa hili.

Tuchukulie tuna safu ifuatayo:

let arr = ['a', 'b', 'c'];

Hebu tuzure vipengele vya hii safu na tuyaandike kwenye mstari mmoja.

Programmer fulani tayari ametatua tatizo hili, lakime kosa ametumia kitanzi for-in. Hebu tuangalie, kilichotokea:

let res = ''; for (let elem in arr) { res += elem; } console.log(res); // itatoa '012'

Kwa hivyo, matokeo yake ni mfuatano '012', wala si 'abc'. Hebu tuchambue kwa nini kilichotokea ni hivi.

Kwa nini hasa safu ilizurwa kupitia kitanzi for-in? Jambo ni kwamba safu katika JavaScript ni kesi maalum ya kitu. Kwa hivyo kweli kwa upande huu huu ni msimbo sahihi. Lakini haifai kufanya hivyo.

Jambo ni kwamba for-in chini ya hali fulani inaweza kunasa vitu vya ziada, na wewe badala ya vipengele vya safu tu utapata kitu kingine chochote cha usiri wakati wa kuzuru. Zuru safu zako tu kupitia for-of.

Hebu sasa tuchambue kwa nini tunaona matokeo ya kushangaza kama haya. Jambo ni, kwamba wakati wa kuzuru kupitia for-in katika kutofautisha elem kweli ndio funguo zinazoingia, bila kujali jina la kutofautisha hili linalochanganya.

Hebu tusahihishe kosa lililofanyika na tuandike msimbo sahihi:

let arr = ['a', 'b', 'c']; let res = ''; for (let elem of arr) { res += elem; } console.log(res); // itatoa 'abc'
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