Qu'est-ce qu'un itérateur javascript

青灯夜游
Libérer: 2021-12-07 17:30:55
original
1601 Les gens l'ont consulté

En JavaScript, un itérateur est un objet spécial qui possède des interfaces propriétaires spécialement conçues pour le processus itératif. Tous les objets itérateurs ont une méthode next() et chaque appel renvoie un objet résultat. L'itérateur stocke un pointeur interne vers l'emplacement de la valeur actuelle dans la collection.

Qu'est-ce qu'un itérateur javascript

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.

1. Définition de l'itérateur :

Iterator est un objet spécial. Il possède des interfaces propriétaires spécialement conçues pour le processus itérateur. Tous les objets itérateurs ont une next() méthode, chaque appel renvoie un . objet résultat. L'objet résultat a deux propriétés : l'une est valeur, indiquant la prochaine valeur à renvoyer ; l'autre est effectuée, qui est une valeur booléenne qui renvoie vrai lorsqu'il n'y a plus de données à renvoyer. L'itérateur enregistre également un pointeur interne pour pointer vers la position de la valeur dans la collection actuelle. Chaque fois que la méthode next() est appelée, la prochaine valeur disponible sera renvoyée si la méthode next() est appelée après la dernière valeur. est renvoyé, alors la valeur de l'attribut effectué dans l'objet renvoyé est vraie et la valeur de l'attribut contient la valeur finalement renvoyée par l'itérateur. Cette valeur de retour ne fait pas partie de l'ensemble de données. Elle est similaire à la valeur de retour de. fonction.C'est la dernière fois donnée à l'appelant lors de l'appel de la fonction. Méthode de transmission des informations, s'il n'y a pas de données pertinentes, elle renverra undéfini

2. Pourquoi l'itérateur apparaît-il ?

Principe de base : Je crois que vous devez avoir utilisé des boucles

for

et que vous avez également eu le problème de la référence de pointeur nulle : Par exemple, la longueur du tableau n'est que de 5, mais votre index a atteint 6. Une légère erreur dans la logique empêchera le programme de fonctionner normalement.

Le problème que l'itérateur veut résoudre est : Résoudre ou réduire

le problème des erreurs d'accès aux collections de variables lors de l'utilisation d'une boucle for similaire

. Par exemple : référence de pointeur nulle.

Par exemple : Lorsque nous utilisons une boucle for pour parcourir une collection, il est facile de faire des erreurs, mais si nous utilisons quelque chose comme forEach, cela réduira le problème des références de pointeurs nuls.

array.forEach(element => {
	// 此时可以不用i来操作集合了。            
});
Copier après la connexion

3. Utilisez js pour implémenter un itérateur simple

function myIterator(list) {
    let i = 0;
    return {
        next: function() {
            let done = (i >= list.length);
            let value = !done ? list[i++] : undefined;
            return {
                done: done,
                value: value
            };
        }
    };
}
Copier après la connexion
Cela peut être vu à partir de la définition de la fonction :

  • La valeur de retour de la fonction est un

    objet Dans l'objet, la clé. est next et la valeur est la fonction

  • Chaque fois que next(), i+1 est appelé, un objet

    est renvoyé en même temps, et l'objet est l'élément de la collection ; [Recommandations associées : Tutoriel d'apprentissage Javascript

    ]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!