Évitez "for...in" pour l'itération de tableau en JavaScript
La boucle "for...in" de JavaScript présente un piège potentiel lors d'une itération sur des tableaux. Bien que cela semble être une approche appropriée, elle peut conduire à des résultats inattendus.
Pourquoi c'est une mauvaise idée
Les boucles "for...in" parcourent les propriétés , y compris ceux qui ne sont pas directement définis dans le tableau. Cela inclut les propriétés héritées du prototype du tableau ou ajoutées dynamiquement.
Par exemple, considérons le code suivant :
var a = []; // Empty array a[5] = 5; // Resize the array
Malgré la création d'un tableau vide, l'attribution d'une valeur à son cinquième index redimensionne efficacement le tableau.
Lors d'une itération en utilisant "for...in":
for (var i in a) { console.log(a[i]); }
La boucle parcourir les propriétés suivantes :
Cependant, il sera également potentiellement itératif sur les propriétés héritées ou sur d'autres propriétés ajoutées à l'objet tableau, qui peuvent ne pas être pertinentes pour le tableau. data.
À la place, utilisez une boucle numérique
Pour parcourir des tableaux spécifiquement, utilisez une boucle numérique :
for (var i = 0; i < a.length; i++) { console.log(a[i]); }
Cette boucle itère explicitement sur les indices numériques du tableau, garantissant que seules les valeurs attendues sont accessibles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!