6 of 17 menu

JavaScript-da for-in aýlawy bilen massiw geçmek ýalňyşlygy

Massiw geçmek üçin for-of aýlawy ulanylmalydyr. Emma käwagt, başlanýanlar ýalňyşlyk bilen for-in aýlawyny ulanyp görýärler. Geliň, bu ýalňyşlygyň häsiýetli alamatlaryna ser edeliň.

Bizde massiw bardyr diýeliň:

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

Geliň bu massiw elementlerini geçip olary bir setire ýazalyň.

Bir programmaçy bu meseläni çözen, ýöne ýalňyşlyk bilen for-in aýlawyndan peýdalandy. Geliň, onuň näme gazandygyna ser edeliň:

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

Şeýlelikde, netije hökmünde 'abc' däl, eýsem '012' setiri alnyar. Geliň, näme üçin şeýle bolýandygyna düşüneliň.

Ähli etdi massiw näme üçin for-in aýlawy arkaly geçirildi? Sebäbi, JavaScript-däki massiw obyektiň ýörite hady. Şonuň üçin aslynda bu dogry koddur. Emma şeýle etmek zerur däl.

Sebäbi, for-in käbir şertlerde artykmaç zyýanly zada ýapşyp biler, we siz massiw elementleriniň ýanynda geçirlende ýene bir nämeden artykmaç alarsyňyz. Massiwleri diňe for-of arkaly geçiriň.

Geliň indi näme üçin şeýle garyşyk netije görýändigimizi düşüneliň. Sebäbi, for-in arkaly geçirilende elem üýtgeýjisine aslynda açarlar düşýär, bu üýtgeýjäniň ady adamakyl ýalbardýan bolsa-da.

Geliň, edilen ýalňyşlygy düzedeliň we dogry kody ýazalyň:

let arr = ['a', 'b', 'c']; let res = ''; for (let elem of arr) { res += elem; } console.log(res); // 'abc' görkezer
Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et