6 of 17 menu

Eroare la parcurgerea array-ului cu bucla for-in în JavaScript

Pentru parcurgerea unui array ar trebui să folosiți bucla for-of. Uneori, însă, începătorii încercă greșit să aplice bucla for-in. Să ne uităm la semnele caracteristice ale acestei erori.

Să presupunem că avem un array:

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

Să parcurgem elementele acestui array și să le scriem într-un singur șir.

Un anumit programator a rezolvat deja această problemă, dar a folosit greșit bucla for-in. Să vedem ce a obținut:

let res = ''; for (let elem in arr) { res += elem; } console.log(res); // va afișa '012'

Deci, în rezultat obținem șirul '012', și nu 'abc'. Să înțelegem de ce s-a întâmplat asta.

De ce, în general, array-ul a fost parcurs cu bucla for-in? Ideea este că array-ul în JavaScript este un caz special de obiect. De fapt, în acest sens, acesta este un cod corect. Dar nu ar trebui să faceți asta.

Ideea este că for-in în anumite condiții poate accesa elemente în plus, și pe lângă elementele array-ului veți obține la parcurgere ceva parazitar. Parcurgeți array-urile doar cu for-of.

Să înțelegem acum de ce vedem un rezultat atât de ciudat. Ideea este că la parcurgerea cu for-in în variabila elem vor intra de fapt cheile, în ciuda numelui înșelător al acestei variabile.

Să corectăm eroarea făcută și să scriem codul corect:

let arr = ['a', 'b', 'c']; let res = ''; for (let elem of arr) { res += elem; } console.log(res); // va afișa 'abc'
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge