Introduction
Dans ce laboratoire, nous allons explorer le concept de générateurs en JavaScript. Plus précisément, nous allons apprendre à créer une fonction génératrice qui produit de nouvelles valeurs jusqu'à ce qu'une certaine condition soit remplie. Grâce à des exercices de codage pratiques, nous comprendrons mieux comment les générateurs fonctionnent et comment ils peuvent être utilisés pour simplifier notre code et améliorer ses performances.
Générer des valeurs jusqu'à ce qu'une condition donnée soit remplie
Pour commencer à pratiquer le codage, ouvrez le Terminal/SSH et tapez node. Une fois que vous avez fait cela, vous pouvez créer un générateur qui produit de nouvelles valeurs jusqu'à ce qu'une condition donnée soit remplie.
Pour créer ce générateur, suivez ces étapes :
- Initialisez la valeur actuelle
valà l'aide de la valeurseed. - Utilisez une boucle
whilepour continuer à itérer tant que la fonctioncondition, appelée avec la valeur actuelleval, renvoiefalse. - Utilisez le mot-clé
yieldpour renvoyer la valeur actuellevalet, facultativement, recevoir une nouvelle valeur de graine,nextSeed. - Utilisez la fonction
nextpour calculer la valeur suivante à partir de la valeur actuellevalet de lanextSeed.
Voici un extrait de code d'exemple :
const generateUntil = function* (seed, condition, next) {
let val = seed;
let nextSeed = null;
while (!condition(val)) {
nextSeed = yield val;
val = next(val, nextSeed);
}
return val;
};
Vous pouvez utiliser le générateur en l'appelant avec les arguments appropriés. Par exemple :
[
...generateUntil(
1,
(v) => v > 5,
(v) => ++v
)
]; // [1, 2, 3, 4, 5]
Cela produira un tableau de valeurs de 1 à 5, car la condition v > 5 est remplie lorsque val est égal à 6.
Sommaire
Félicitations ! Vous avez terminé le laboratoire Générer jusqu'à ce que la condition soit remplie. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.