Explorer les générateurs JavaScript : itération cyclique sur un tableau

JavaScriptJavaScriptBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons explorer le concept de générateurs en JavaScript et apprendre à créer un générateur de cycle qui boucle indéfiniment sur un tableau. Nous utiliserons le mot-clé yield et une boucle while pour créer le générateur, puis le tester avec différents tableaux pour voir comment il fonctionne. À la fin de ce laboratoire, vous aurez une compréhension plus approfondie des générateurs et de la manière dont ils peuvent être utilisés dans vos projets JavaScript.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/loops("Loops") javascript/AdvancedConceptsGroup -.-> javascript/destr_assign("Destructuring Assignment") subgraph Lab Skills javascript/variables -.-> lab-28234{{"Explorer les générateurs JavaScript : itération cyclique sur un tableau"}} javascript/data_types -.-> lab-28234{{"Explorer les générateurs JavaScript : itération cyclique sur un tableau"}} javascript/arith_ops -.-> lab-28234{{"Explorer les générateurs JavaScript : itération cyclique sur un tableau"}} javascript/loops -.-> lab-28234{{"Explorer les générateurs JavaScript : itération cyclique sur un tableau"}} javascript/destr_assign -.-> lab-28234{{"Explorer les générateurs JavaScript : itération cyclique sur un tableau"}} end

Instructions pour le générateur de cycle

Pour commencer à pratiquer la programmation, ouvrez le Terminal/SSH et tapez node. Ensuite, créez un générateur qui boucle indéfiniment sur le tableau donné. Voici les étapes :

  1. Utilisez une boucle while non terminante qui yield une valeur chaque fois que Generator.prototype.next() est appelé.
  2. Utilisez l'opérateur modulo (%) avec Array.prototype.length pour obtenir l'index de la prochaine valeur et incrémenter le compteur après chaque instruction yield.

Voici un exemple de la fonction cycleGenerator :

const cycleGenerator = function* (arr) {
  let i = 0;
  while (true) {
    yield arr[i % arr.length];
    i++;
  }
};

Vous pouvez ensuite utiliser la fonction comme suit :

const binaryCycle = cycleGenerator([0, 1]);
binaryCycle.next(); // { value: 0, done: false }
binaryCycle.next(); // { value: 1, done: false }
binaryCycle.next(); // { value: 0, done: false }
binaryCycle.next(); // { value: 1, done: false }

Avec ces instructions, vous pouvez créer un générateur de cycle qui boucle indéfiniment sur n'importe quel tableau.

Sommaire

Félicitations ! Vous avez terminé le laboratoire sur le Générateur de cycle. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.