6 of 17 menu

JavaScriptтеги for-in цикл менен массивди кайталоодо жасалган ката

Массивди кайталоо үчүн for-of циклин колдонуу керек. Бирок, кээде башталгычтар ката менен for-in циклин колдонууга аракет кылышат. Келгиле, ушул катанын мүнөздүү белгилерин карап көрөлү.

Бизде мындай массив бар деп коёлу:

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

Келгиле, бул массивдин элементтерин кайталап, аларды бир сапка жазалы.

Бир программачы бул маселени чечип бүткөн, бирок ката менен for-in циклин колдонуп кеткен. Келгиле, анын эмне алып чыкканын карап көрөлү:

let res = ''; for (let elem in arr) { res += elem; } console.log(res); // '012' чыгарат

Ошентип, натыйжада '012' сабы чыгат, 'abc' эмес. Келгиле, эмне үчүн мындай болгонун түшүнөлү.

Эмне үчүн массив for-in цикл аркылуу кайталанды? Маселе мында, JavaScriptте массив объекттин жеке учуру болуп эсептелет. Ошондуктан чындыгында бул жактан алганда туура код. Бирок муну кылууга болбойт.

Маселе мында, for-in айрым шарттарда кошумча нерселерди кармап алышы мүмкүн, жана сиз массивдин элементтери менен катар кайталоо учурунда дагы бир кандай паразиттик нерселерди ала аласыз. Массивдерди for-of аркылуу гана кайталагыла.

Эми эмне үчүн биз мындай кызыктуу натыйжаны көргөнүбүздү түшүнөлү. Маселе мында, for-in аркылуу кайталоодо elem өзгөрмөсүнө чындыгында ачкычтар түшөт, бул өзгөрмөнүн аталышы адамды адаштырганына карабастан.

Келгиле, жасалган катаны оңдоп, туура кодду жазалы:

let arr = ['a', 'b', 'c']; let res = ''; for (let elem of arr) { res += elem; } console.log(res); // 'abc' чыгарат
Кыргызча
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČ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
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу