Les boucles « for » sont un outil indispensable en JavaScript pour exécuter des blocs de code de manière répétée tout en optimisant les performances. Ce guide vous accompagnera pas à pas dans leur apprentissage, avec des exemples concrets, des outputs, et des analyses détaillées.

Qu’est-ce qu’une boucle ?

Les boucles permettent de répéter une action plusieurs fois, tant qu’une condition spécifique est remplie. Elles sont utilisées pour traiter des collections de données, effectuer des calculs répétitifs ou automatiser des tâches complexes. Il existe plusieurs sortes de boucles en javascript ; voyons ici l’historique boucle « for »

Les boucles « for » en JavaScript

En JavaScript, la boucle « for » est la structure la plus appropriée lorsqu’on sait à l’avance combien de fois une action doit être répétée.

Syntaxe d’une boucle « for »

Voici la syntaxe d’une boucle « for » :

for (initialisation; condition; incrémentation) {
  // Code à exécuter
}
  • Initialisation : Déclare et initialise une variable de contrôle.
  • Condition : Teste si la boucle doit continuer.
  • Incrémentation : Met à jour la variable de contrôle à chaque itération.

Exemple :

for (let i = 0; i < 5; i++) {
  console.log(`Itération : ${i}`);
}
PartieExempleDescription
Initialisationlet i = 0Démarre la variable à 0
Conditioni < 5Exécute tant que cette condition est vraie
Incrémentationi++Incrémente la variable à chaque itération
Corpsconsole.logAffiche la valeur actuelle de i

Comment afficher un texte plusieurs fois

Exemple :

for (let i = 0; i < 3; i++) {
  console.log("Bonjour, monde !");
}

Output :

Bonjour, monde !
Bonjour, monde !
Bonjour, monde !
Variable iCondition i < 3Action
0vraiAffiche « Bonjour, monde ! »
1vraiAffiche « Bonjour, monde ! »
2vraiAffiche « Bonjour, monde ! »
3fauxFin de la boucle

Explication : La boucle démarre avec i = 0 et s’arrête lorsque i atteint 3.

Comment afficher une séquence de nombres avec une boucle « for »

Exemple :

for (let i = 1; i <= 5; i++) {
  console.log(i);
}

Output :

1
2
3
4
5
Variable iCondition i <= 5Action
1vraiAffiche 1
2vraiAffiche 2
3vraiAffiche 3
4vraiAffiche 4
5vraiAffiche 5
6fauxFin de la boucle

Explication : La boucle incrémente la valeur de i à chaque itération, en s’arrêtant à 5.

Comment afficher une séquence de nombres pairs

Exemple :

for (let i = 2; i <= 10; i += 2) {
  console.log(i);
}

Output :

2
4
6
8
10
Variable iCondition i <= 10Action
2vraiAffiche 2
4vraiAffiche 4
6vraiAffiche 6
8vraiAffiche 8
10vraiAffiche 10
12fauxFin de la boucle

Explication : La boucle incrémente i par 2, permettant d’afficher uniquement les nombres pairs.

Comment interrompre une boucle « for »

Exemple :

for (let i = 0; i < 10; i++) {
  if (i === 5) {
    break;
  }
  console.log(i);
}

Output :

0
1
2
3
4
Variable iCondition i < 10Condition i === 5Action
0vraifauxAffiche 0
1vraifauxAffiche 1
5vraivraiBreak

Explication : La boucle s’arrête immédiatement lorsque i === 5.

Comment afficher la somme des nombres naturels

Exemple :

let somme = 0;
const start = 1;
const end = 100;

for (let i = start; i <= end; i++) {
  somme += i;
}
console.log(`La somme des nombres de ${start} à ${end} est : ${somme}`);

Output :

La somme des nombres de 1 à 100 est : 5050
ÉtapeVariable iValeur de somme après addition
111
223
1001005050

Explication : Cette boucle commence à la valeur start (1) et s’arrête à la valeur end (100). À chaque itération, le nombre actuel i est ajouté à la variable somme, qui accumule le total.

Comment parcourir un tableau pour vérifier les nombres pairs et impairs

Exemple :

// Tableau initial
const nombres = [3, 8, 15, 22, 7, 10];

// Parcours pour vérifier chaque élément
for (let i = 0; i < nombres.length; i++) {
  if (nombres[i] % 2 === 0) {
    console.log(`${nombres[i]} est pair`);
  } else {
    console.log(`${nombres[i]} est impair`);
  }
}

Output :

3 est impair
8 est pair
15 est impair
22 est pair
7 est impair
10 est pair
ÉtapeValeur de nombres[i]Résultat
133 est impair
288 est pair
31515 est impair
42222 est pair
577 est impair
61010 est pair

Explication : La boucle parcourt chaque élément du tableau nombres. La condition nombres[i] % 2 === 0 détermine si le nombre est pair. Si oui, un message indique qu’il est pair, sinon qu’il est impair.

Comment parcourir un tableau pour trouver le maximum et le minimum

Exemple :

// Tableau initial
const nombres = [42, 17, 8, 33, 99, 4];

// Initialisation des variables pour le max et le min
let max = nombres[0];
let min = nombres[0];

// Parcours pour trouver les valeurs
for (let i = 1; i < nombres.length; i++) {
  if (nombres[i] > max) {
    max = nombres[i];
  }
  if (nombres[i] < min) {
    min = nombres[i];
  }
}

console.log(`Le maximum est : ${max}`);
console.log(`Le minimum est : ${min}`);

Output :

Le maximum est : 99
Le minimum est : 4
ÉtapeValeur de nombres[i]Nouveau maxNouveau min
1174217
28428
333428
499998
54994

Explication : Les variables max et min sont initialisées avec la première valeur du tableau. La boucle compare chaque élément suivant pour mettre à jour max si un élément est plus grand, ou min si un élément est plus petit.

Comment trier un tableau de nombres avec une boucle « for »

Exemple :

// Déclaration du tableau initial
const nombres = [34, 7, 23, 32, 5, 62];

// Première boucle pour contrôler les passes
for (let i = 0; i < nombres.length; i++) {
  // Deuxième boucle pour comparer les éléments adjacents
  for (let j = 0; j < nombres.length - i - 1; j++) {
    // Si l'élément courant est plus grand que le suivant, on les échange
    if (nombres[j] > nombres[j + 1]) {
      let temp = nombres[j];
      nombres[j] = nombres[j + 1];
      nombres[j + 1] = temp;
    }
  }
}

// Affichage du tableau trié
console.log(nombres);

Output :

[5, 7, 23, 32, 34, 62]
LigneCodeExplication
1const nombres = [34, 7, ...];Déclare le tableau de nombres à trier.
4for (let i = 0; ...)Contrôle le nombre total de passes nécessaires pour trier le tableau.
6for (let j = 0; ...)Compare chaque paire d’éléments adjacents dans une passe.
8if (nombres[j] > nombres[j+1])Vérifie si deux éléments sont dans le mauvais ordre.
9-11let temp = nombres[j]; ...Effectue un échange des deux éléments si nécessaire.
14console.log(nombres);Affiche le tableau final trié par ordre croissant.

Explication détaillée :

  • La première boucle externe i compte le nombre de passes nécessaires pour que tous les éléments soient triés. Chaque passe place le plus grand élément restant à la bonne position.
  • La boucle interne j compare les éléments adjacents et les échange si nécessaire.
  • Les éléments triés ne sont plus comparés dans les passes suivantes, car la condition nombres.length - i - 1 réduit la portée de la boucle interne.
  • Ce tri, appelé tri à bulles, a une complexité temporelle de O(n²) dans le pire des cas. Il est utile pour des tableaux de petite taille.

FAQ : 15 questions et réponses

Qu’est-ce qu’une boucle « for » en JavaScript ?

Une structure permettant de répéter un bloc de code un nombre défini de fois.

Quelle est la différence entre « for » et « while » ?

« For » est utilisée lorsque le nombre d’itérations est connu, « while » lorsque la condition est dynamique

Comment éviter une boucle infinie ?

S’assurer que la condition de fin est atteignable

Comment utiliser une boucle « for » pour parcourir un tableau ?

const tableau = [1, 2, 3];
for (let i = 0; i < tableau.length; i++) {
console.log(tableau[i]);
}

Peut-on imbriquer des boucles « for » ?

Oui, pour traiter des structures multidimensionnelles comme des tableaux 2D

Peut-on utiliser une boucle « for » avec des objets ?

Non, il est préférable d’utiliser une boucle « for…in » ou « for…of » pour parcourir les propriétés ou les valeurs d’un objet.

Comment optimiser une boucle « for » pour les grands tableaux ?

Précalculer la longueur du tableau avant la boucle :
const tableau = [1, 2, 3, 4, 5];
const longueur = tableau.length;
for (let i = 0; i < longueur; i++) {
console.log(tableau[i]);
}

Quelle est la meilleure alternative aux boucles en JavaScript moderne ?

Les méthodes comme forEach, map, filter et reduce sont souvent utilisées pour remplacer les boucles classiques.

Qu’est-ce qu’une boucle infinie ?

Une boucle qui ne s’arrête jamais parce que la condition reste toujours vraie.

Comment déboguer une boucle « for » ?

Utilisez des instructions comme console.log pour surveiller les variables à chaque itération.

Quelle est la différence entre break et continue ?

- break : arrête complètement la boucle.
- continue : passe à l’itération suivante sans exécuter le reste du code de la boucle.

Comment trier un tableau décroissant avec une boucle ?

En modifiant la condition dans une boucle de tri :
const nombres = [34, 7, 23, 32, 5, 62];
for (let i = 0; i < nombres.length; i++) {
for (let j = 0; j < nombres.length - i - 1; j++) {
if (nombres[j] < nombres[j + 1]) {
let temp = nombres[j];
nombres[j] = nombres[j + 1];
nombres[j + 1] = temp;
}
}
}
console.log(nombres);

Comment gérer les erreurs dans une boucle ?

Entourez le code dans un try...catch pour intercepter les erreurs :
try {
for (let i = 0; i < 5; i++) {
if (i === 3) throw new Error("Erreur à l'itération 3");
console.log(i);
}
} catch (e) {
console.error(e.message);
}

Comment utiliser une boucle pour inverser un tableau ?

Utilisez des indices pour échanger les éléments :
const tableau = [1, 2, 3, 4, 5];
for (let i = 0; i < tableau.length / 2; i++) {
let temp = tableau[i];
tableau[i] = tableau[tableau.length - 1 - i];
tableau[tableau.length - 1 - i] = temp;
}
console.log(tableau);

Comment limiter les performances d’une boucle ?

Évitez les calculs coûteux dans la condition ou le corps de la boucle, et privilégiez les structures de données adaptées pour optimiser les recherches.

Catégories : Javascript

siddhy

Développeur web full stack depuis 2004 dans une agence web du sud de la France et Geek depuis toujours, l'apprentissage et le partage font parti intégrante de ma philosophie au même titre que l'évolution personnelle et la sagesse bouddhiste.

0 commentaire

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site est protégé par reCAPTCHA et Google Politique de confidentialité et Conditions d'utilisation appliquer.

La période de vérification reCAPTCHA a expiré. Veuillez recharger la page.