Sinds 2015 heeft EcmaScript6 (ES6) veel vooruitgang geboekt op het gebied van JavaScript-codering. Talloze moderne concepten werden geïntroduceerd in JavaScript, waardoor de codeerervaring aanzienlijk werd verbeterd. In dit artikel leer je over iterators en generators in JavaScript.

Iterators en generatoren zijn twee verschillende concepten, maar ze worden op vergelijkbare manieren gebruikt. Ze worden gebruikt om arrays en objecten in JavaScript te doorlopen.

iterators

Iterators zijn als geavanceerde loops die kunnen worden gepauzeerd. Iterators bestaan ​​uit de De volgende() functie, die de waarde en de status gereed retourneert. De waarde veld is de waarde in de array bij een bepaalde index. gedaan is de booleaanse waarde die de voltooiingsstatus voor de iteratie door de lus retourneert.

Hier is een voorbeeld dat laat zien hoe iterators:

functie fruitIter (fruit){
laat index = 0;
opbrengst {
volgende: functie(){
return index < fruit.length? {waarde: fruit [index++], klaar: false }: {done: true}
}
}
}
const fruitsArray = ["Mango", "Banaan", "Druiven"];
const fruit = fruitIter (fruitsArray);
console.log (fruits.next().value);

Uitgang::

Mango

Wanneer je de. passeert fruitArray array in de fruitIter() methode, retourneert het een iterator die is opgeslagen in de fruit variabel. De inhoudsopgave variabele in de fruitIter() methode wordt geïnitialiseerd op 0. Deze methode retourneert de De volgende() functie die helpt bij door de array lopen. De De volgende() functie controleert of de index kleiner is dan fruitArray lengte. Als dat zo is, retourneert het twee variabelen: de vruchtnaam bij die index, en de gedaan toestand. Terwijl deze waarden worden geretourneerd, wordt ook de indexwaarde verhoogd.

Om te controleren hoe deze methode werkt en om de fruitnaam af te drukken, moet u de De volgende() functie op de fruit iterator en krijg toegang tot de waarde ervan.

Verwant: Wat is een functie in programmeren?

Generatoren

Generators zijn vergelijkbaar met Iterators, maar ze retourneren meerdere waarden. Deze waarden worden opbrengstwaarden genoemd. Generatorfuncties worden geschreven met de functie* syntaxis. * geeft aan dat het geen normale functie is, maar een generator. Hier is een voorbeeld van generatoren:

functie* printFruits(){
opbrengst "Mango";
opbrengst "Banaan";
opbrengst "Druiven";
}
const fruit = printFruits();
console.log (fruit.next());

Uitgang::

{waarde: 'Mango', klaar: false}

In dit voorbeeld, opbrengst is de iterator. Wanneer u de functie aanroept: printFruit(), en afdrukken fruit.next(), het geeft je een object waar je de waarde krijgt. De gedaan status geeft aan of alle waarden zijn herhaald.

Leer gegevensstructuren met behulp van ES6-klassen in JavaScript

JavaScript ES6 bracht veel vooruitgang in coderingspraktijken. Niet de minste daarvan is het bouwen van datastructuren met behulp van ES6-klassen. Duw. pop, en stapel je een weg naar de top en word een JavaScript-professional!

DeelTweetenE-mail
Hoe gegevensstructuren te bouwen met JavaScript ES6-klassen

Met de introductie van JavaScript ES6 kwamen aangepaste datastructuren. Hier leest u hoe u ze kunt maken en toepassen.

Lees volgende

Gerelateerde onderwerpen
  • Programmeren
  • JavaScript
  • Codeertips
  • Programmeren
Over de auteur
Unnati Bamania (6 artikelen gepubliceerd)

Unnati is een enthousiaste full-stack developer. Ze houdt ervan om projecten te bouwen met behulp van verschillende programmeertalen. In haar vrije tijd speelt ze graag gitaar en is ze een kookliefhebber.

Meer van Unnati Bamania

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren