JavaScript Pour In
La Boucle For In
La boucle for...in itère sur les propriétés énumérables d'un objet.
La boucle for...in est principalement utilisée pour accéder aux noms de propriété (clés) des objets.
Syntaxe
for ( key in object ) {
// bloc de code à exécuter
} - key
Une variable qui contient le nom (clé) de chaque propriété pendant les itérations - object
L'objet dont les propriétés sont itérées
Une déclaration JavaScript for in boucle à travers les propriétés d'un objet personne :
Exemple
const person = {fname:"John", lname:"Doe", age:25};
let text = "";
for (let x in person) {
text += person[x];
} Exemple Expliqué
- La boucle for in itère sur un objet person
- Chaque itération renvoie un x (une clé)
- Le x est utilisé pour accéder à la valeur correspondante
- La valeur de x est person[x]
For In Sur les Tableaux
La déclaration JavaScript for in peut également itérer sur les propriétés d'un tableau :
Syntaxe
for (variable in array) {
code
} Exemple
const numbers = [45, 4, 9, 16, 25];
let txt = "";
for (let x in numbers) {
txt += numbers[x];
}
Flux de Contrôle
Comme dans d'autres boucles JavaScript, vous pouvez utiliser des instructions de contrôle à l'intérieur de la boucle :
-
break
interrompt l'exécution de la boucle et passe aux instructions qui suivent -
continue
interrompt l'exécution de la boucle et passe à l'itération suivante
Propriétés Énumérables
La boucle for...in n'itère que sur les propriétés énumérables.
Les propriétés dont l'attribut énumérable est défini sur false, comme certaines méthodes ou propriétés intégrées définies avec Object.defineProperty() , ne seront pas incluses.
La Chaîne de Prototype
La boucle for...in itère également sur les propriétés énumérables héritées de la chaîne de prototype de l'objet. Pour éviter cela, vous pouvez utiliser hasOwnProperty() à l'intérieur de la boucle pour vérifier si la propriété appartient directement à l'objet lui-même.
Remarque
Ne pas utiliser for in sur un tableau si l' ordre des index est important.
L'ordre des index dépend du moteur, et les valeurs du tableau peuvent ne pas être accessibles dans l'ordre attendu.
Il est préférable d'utiliser une boucle for , une boucle for of , ou Array.forEach() lorsque l'ordre est important.
Array.forEach()
La méthode forEach() appelle une fonction (une fonction de rappel) une fois pour chaque élément du tableau.
Exemple
const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);
function myFunction(value, index, array) {
txt += value;
} Notez que la fonction prend 3 arguments :
- La valeur de l'élément
- L'index de l'élément
- Le tableau lui-même
L'exemple ci-dessus utilise uniquement le paramètre de valeur. Il peut être réécrit comme suit :
Exemple
const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);
function myFunction(value) {
txt += value;
}