Maison >interface Web >js tutoriel >Pour Loop en JavaScript: comment utiliser le pour… en boucle
JavaScript for...in
Loops: un guide complet
Les boucles JavaScript sont inestimables pour le traitement des collections comme les tableaux et les objets. La boucle for...in
offre un moyen spécifique de parcourir les propriétés d'un objet. Cet article explore son utilisation, sa syntaxe, ses meilleures pratiques et ses alternatives appropriées.
Concepts clés
for...in
itère sur les propriétés énumérables d'un objet (ou tableau). Il accède aux touches (noms de propriétés ou indices de tableau), pas directement les valeurs. for...in
peut conduire à un comportement imprévisible; Évitez de telles modifications. for
(offrant plus de contrôle sur l'itération) et la méthode forEach
(pour l'itération du tableau). Pourquoi utiliser des boucles?
Dans JavaScript, les boucles offrent un accès efficace aux éléments de collecte (tableaux ou objets). Chaque cycle à travers la collection est une itération. Les éléments sont accessibles soit par leur clé (index pour les tableaux, nom de propriété pour les objets) ou directement par valeur.
la boucle for...in
définie
La boucle for...in
itère à travers les touches énumérées d'un objet, d'un tableau ou même d'une chaîne. Ces clés permettent alors l'accès aux valeurs correspondantes.
Syntaxe
La structure de base est:
<code class="language-javascript">for (let key in value) { // Code to execute for each key }</code>
value
représente la collection et key
détient la clé de chaque élément pendant chaque itération. L'utilisation de let
(ou const
) garantit une portée appropriée pour la variable key
.
en utilisant for...in
avec des objets
Lors de l'itération des objets, for...in
accède aux propriétés énumérables de l'objet posséder . Pour exclure les propriétés héréditaires, utilisez hasOwnProperty()
:
Exemple:
<code class="language-javascript">const obj = { a: "JavaScript", 1: "PHP", b: "Python", 2: "Java" }; for (let key in obj) { if (obj.hasOwnProperty(key)) { //Check for own properties console.log(key + ": " + obj[key]); } }</code>
Notez que l'ordre d'itération peut ne pas correspondre à la définition de l'ordre des propriétés.
en utilisant for...in
avec des tableaux
Bien que possible, l'utilisation de for...in
avec des tableaux est généralement découragée. L'ordre d'itération n'est pas garanti pour être séquentiel (0, 1, 2 ...), et il peut varier selon les différents moteurs JavaScript.
Exemple:
<code class="language-javascript">const arr = ["JavaScript", "PHP", "Python", "Java"]; for (let key in arr) { console.log(key + ": " + arr[key]); }</code>
en utilisant for...in
avec des chaînes
itération sur les chaînes avec for...in
n'est pas non plus recommandée. Il itère sur les indices de caractère, pas les personnages eux-mêmes.
quand éviter for...in
for...in
pour les tableaux. Utilisez plutôt une boucle standard for
ou forEach
. alternatives
Boucle standard for
(tableaux): fournit un contrôle complet sur l'ordre d'itération et la manipulation d'index.
<code class="language-javascript">for (let key in value) { // Code to execute for each key }</code>
forEach
Méthode (tableaux et objets): itérante sur les éléments du tableau (ou les touches d'objet en utilisant Object.keys()
) en utilisant une fonction de rappel.
<code class="language-javascript">const obj = { a: "JavaScript", 1: "PHP", b: "Python", 2: "Java" }; for (let key in obj) { if (obj.hasOwnProperty(key)) { //Check for own properties console.log(key + ": " + obj[key]); } }</code>
Conclusion
La boucle for...in
est un outil précieux pour traverser les propriétés des objets. Cependant, la compréhension de ses limites et le choix des alternatives appropriées pour les tableaux assure un code prévisible et efficace.
Les questions fréquemment posées
for
? Une boucle for
répète un bloc de code un nombre défini de fois, contrôlé par une instruction d'initialisation, de condition et d'incrément / décrément. for...in
vs standard for
: for...in
itéère les propriétés de l'objet; La boucle standard for
est plus générale. for
vs for...of
: for...of
itéère directement sur des valeurs itérables; for
est plus flexible. 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!