6 of 17 menu

Gabimi i përsëritjes së array me ciklin for-in në JavaScript

Për përsëritjen e një array duhet të përdoret cikli for-of. Ndonjëherë, megjithatë, fillestarët gabimisht përpiqen të përdorin ciklin for-in. Le të shohim shenjat karakteristike të këtij gabimi.

Le të themi se kemi një array:

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

Le të përsërisim elementët e këtij array dhe t'i shkruajmë në një rresht të vetëm.

Dikush programues tashmë e ka zgjidhur këtë detyrë, por gabimisht ka përdorur ciklin for-in. Le të shohim, çfarë doli nga ana e tij:

let res = ''; for (let elem in arr) { res += elem; } console.log(res); // do të shfaqet '012'

Pra, si rezultat fitohet stringu '012', e jo 'abc'. Le të kuptojmë pse ndodhi kështu.

Pse në përgjithësi array u përsërit përmes ciklit for-in? Çështja është se array në JavaScript është një rast i veçantë i objektit. Prandaj në fakt në këtë aspekt ky është kod i saktë. Por kështu nuk duhet bërë.

Çështja është se for-in në disa kushte mund të kap shtesë, dhe ju përveç elementëve të array do të merrni gjatë përsëritjes diçka tjetër parazitare. Përsërisni array vetëm përmes for-of.

Tani le të kuptojmë pse ne shohim një rezultat kaq të çuditshëm. Çështja është, se gjatë përsëritjes përmes for-in në variablin elem në fakt do të bien çelësat, pavarësisht nga emërtimi mashtrues i kësaj variable.

Le të korrigjojmë gabimin e bërë dhe të shkruajmë kodin e saktë:

let arr = ['a', 'b', 'c']; let res = ''; for (let elem of arr) { res += elem; } console.log(res); // do të shfaqet 'abc'
Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo