6 of 17 menu

JavaScript-də for-in döngüsü ilə massivin gəzmə xətası

Massivi gəzmək üçün for-of döngüsündən istifadə etmək lazımdır. Buna baxmayaraq, bəzən yeni başlayanlar səhvən for-in döngüsünü tətbiq etməyə çalışırlar. Gəlin bu xətanın xarakterik əlamətlərinə baxaq.

Tutaq ki, bizim bir massivimiz var:

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

Gəlin bu massivin elementlərini gəzib onları bir sətirdə yazaq.

Müəyyən bir proqramçı bu problemi artıq həll edib, amma səhvən for-in döngüsündən istifadə edib. Gəlin onun nə əldə etdiyinə baxaq:

let res = ''; for (let elem in arr) { res += elem; } console.log(res); // '012' çap edəcək

Beləliklə, nəticədə 'abc' yox, '012' sətri alınır. Gəlin bunun niyə baş verdiyini anlayaq.

Ümumiyyətlə, massiv niyə for-in döngüsü ilə gəzilə bildi? Məsələ ondadır ki, JavaScript-də massiv obyektin xüsusi bir növüdür. Buna görə də əslində bu baxımdan bu korrekt koddur. Amma belə etmək tövsiyə edilmir.

Məsələ ondadır ki, for-in müəyyən şəraitdə artıq olanı "yapışdıra" bilər, və siz massivin elementlərindən əlavə gəzmə zamanı bir az da parazit bir şey əldə edə bilərsiniz. Massivləri yalnız for-of ilə gəzin.

Gəlin indi anlayaq ki, niyə biz belə qəribə nəticə görürük. Məsələ ondadır, ki for-in ilə gəzmə zamanı elem dəyişəninə əslində açarlar (indekslər) düşür, bu dəyişənin adının səfeh salmasına baxmayaraq.

Gəlin edilmiş xətanı düzəldək və korrekt kodu yazaq:

let arr = ['a', 'b', 'c']; let res = ''; for (let elem of arr) { res += elem; } console.log(res); // 'abc' çap edəcək
Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et