Prototype - Énumération

La classe Enumerable fournit un grand ensemble de méthodes utiles pour les énumérations. Les énumérations sont des objets qui agissent comme une collection de valeurs.

Les méthodes d'énumération sont principalement utilisées pour énumérer les tableaux et les hachages . Il existe également d'autres objets comme ObjectRange et divers objets liés à DOM ou AJAX où vous pouvez utiliser des méthodes d'énumération.

Le paramètre de contexte

Chaque méthode de Enumerable qui prend un itérateur prend également l'objet de contexte comme paramètre suivant (facultatif). L'objet de contexte est ce à quoi l'itérateur va être lié, donc lethis Le mot clé à l'intérieur pointera vers l'objet.

var myObject = {};

['foo', 'bar', 'baz'].each(function(name, index) {
   this[name] = index;
}, myObject); // we have specified the context

myObject;

Cela produira le résultat suivant -

Production

{ foo: 0, bar: 1, baz: 2}

L'utiliser efficacement

  • Lorsque vous devez invoquer la même méthode sur tous les éléments, utilisez la méthode invoke () .

  • Lorsque vous devez récupérer la même propriété sur tous les éléments, utilisez la méthode pluck () .

  • Les méthodes findAll / select récupèrent tous les éléments qui correspondent à un prédicat donné. Inversement, la méthode rejet () récupère tous les éléments qui ne correspondent pas à un prédicat. Dans le cas spécifique où vous avez besoin des deux ensembles, vous pouvez éviter de boucler deux fois: utilisez simplement la méthode partition () .

Voici une liste complète de toutes les méthodes liées à Enumerable.

Méthodes énumérables de prototype

NOTE - Assurez-vous d'avoir au moins la version 1.6 de prototype.js.

S.No. Méthode et description
1. tout()

Détermine si tous les éléments sont équivalents en booléen à true, soit directement, soit par calcul par l'itérateur fourni.

2. tout()

Détermine si au moins un élément est booléen équivalent à true, soit directement, soit par calcul par l'itérateur fourni.

3. collecte()

Renvoie les résultats de l'application de l'itérateur à chaque élément. Aliasé comme map ().

4. détecter()

Recherche le premier élément pour lequel l'itérateur renvoie true. Aliasé par la méthode find ().

5. chaque()

Il vous permet d'itérer sur tous les éléments de manière générique, puis renvoie le Enumerable, permettant ainsi l'appel en chaîne.

6. eachSlice ()

Regroupe les éléments en morceaux en fonction d'une taille donnée, le dernier morceau étant peut-être plus petit.

sept. entrées ()

Alias ​​de la méthode toArray plus générique.

8. trouver()

Recherche le premier élément pour lequel l'itérateur renvoie true. Alias ​​de commodité pour detect ().

9. Trouver tout()

Renvoie tous les éléments pour lesquels l'itérateur a renvoyé true. Aliasé comme select ().

dix. grep ()

Renvoie tous les éléments qui correspondent au filtre. Si un itérateur est fourni, il est utilisé pour produire la valeur renvoyée pour chaque élément sélectionné.

11. inGroupsOf ()

Regroupe les éléments en blocs de taille fixe, en utilisant une valeur spécifique pour remplir le dernier bloc si nécessaire.

12. comprendre()

Détermine si un objet donné se trouve ou non dans le Enumerable, en fonction de l'opérateur de comparaison ==. Aliasé en tant que membre ().

13. injecter()

Construit de façon incrémentielle une valeur de résultat basée sur les résultats successifs de l'itérateur.

14. invoquer()

Optimisation pour un cas d'utilisation commun de each () ou collect (): invocation de la même méthode, avec les mêmes arguments potentiels, pour tous les éléments.

15. carte()

Renvoie les résultats de l'application de l'itérateur à chaque élément. Alias ​​de commodité pour collect ().

16. max ()

Renvoie l'élément maximal (ou le calcul basé sur l'élément), ou indéfini si l'énumération est vide. Les éléments sont soit comparés directement, soit en appliquant d'abord l'itérateur et en comparant les valeurs renvoyées.

17. membre()

Détermine si un objet donné se trouve ou non dans le Enumerable, en fonction de l'opérateur de comparaison ==. Alias ​​de commodité pour include ().

18. min ()

Renvoie l'élément minimum (ou le calcul basé sur l'élément), ou indéfini si l'énumération est vide. Les éléments sont soit comparés directement, soit en appliquant d'abord l'itérateur et en comparant les valeurs renvoyées.

19. cloison()

Partage les éléments en deux groupes: ceux considérés comme vrais et ceux considérés comme faux.

20. cueillir()

Optimisation pour un cas d'utilisation courant de collect (): récupérer la même propriété pour tous les éléments. Renvoie les valeurs de propriété.

21. rejeter()

Renvoie tous les éléments pour lesquels l'itérateur a renvoyé false.

22. sélectionner()

Alias ​​de la méthode findAll ().

23. Taille()

Renvoie la taille de l'énumération.

24. Trier par()

Fournit une vue triée sur mesure des éléments en fonction des critères calculés, pour chaque élément, par l'itérateur.

25. toArray ()

Renvoie une représentation Array de l'énumération. Aliasé en tant qu'entrées ().

26. Zip *: français()

Zips ensemble (pensez à la fermeture éclair sur une paire de pantalons) 2 + séquences, fournissant une gamme de tuples. Chaque tuple contient une valeur par séquence d'origine.