Prototyp - Aufzählung
Die Enumerable-Klasse bietet eine Vielzahl nützlicher Methoden für Aufzählungen. Aufzählungen sind Objekte, die als Sammlung von Werten dienen.
Aufzählungsmethoden werden hauptsächlich zum Auflisten von Arrays und Hashes verwendet . Es gibt auch andere Objekte wie ObjectRange und verschiedene DOM- oder AJAX-bezogene Objekte, in denen Sie Aufzählungsmethoden verwenden können.
Der Kontextparameter
Jede Methode von Enumerable, die einen Iterator verwendet, verwendet auch das Kontextobjekt als nächsten (optionalen) Parameter. Das Kontextobjekt ist das, an das der Iterator gebunden werden sollthis Das darin enthaltene Schlüsselwort zeigt auf das Objekt.
var myObject = {};
['foo', 'bar', 'baz'].each(function(name, index) {
this[name] = index;
}, myObject); // we have specified the context
myObject;
Dies führt zu folgendem Ergebnis:
Ausgabe
{ foo: 0, bar: 1, baz: 2}
Effizient nutzen
Wenn Sie für alle Elemente dieselbe Methode aufrufen müssen, wählen Sie die Methode invoke () .
Wenn Sie für alle Elemente dieselbe Eigenschaft abrufen müssen, wählen Sie die Methode pluck () .
Die findAll / select- Methoden rufen alle Elemente ab, die einem bestimmten Prädikat entsprechen. Umgekehrt ruft die Methode reverse () alle Elemente ab, die keinem Prädikat entsprechen. In dem speziellen Fall, in dem Sie beide Sätze benötigen, können Sie eine doppelte Schleife vermeiden: Verwenden Sie einfach die partition () -Methode.
Hier finden Sie eine vollständige Liste aller Methoden im Zusammenhang mit Enumerable.
Aufzählbare Methoden für Prototypen
NOTE - Stellen Sie sicher, dass Sie mindestens die Version 1.6 von prototype.js haben.
S.No. | Methode & Beschreibung |
---|---|
1. | alle() Legt fest, ob alle Elemente boolesch äquivalent zu true sind, entweder direkt oder durch Berechnung durch den bereitgestellten Iterator. |
2. | irgendein() Bestimmt, ob mindestens ein Element boolesch äquivalent zu true ist, entweder direkt oder durch Berechnung durch den bereitgestellten Iterator. |
3. | sammeln() Gibt die Ergebnisse der Anwendung des Iterators auf jedes Element zurück. Alias als Karte (). |
4. | erkennen () Findet das erste Element, für das der Iterator true zurückgibt. Aliasing durch die find () -Methode. |
5. | jeder() Sie können alle Elemente generisch durchlaufen und dann die Aufzählung zurückgeben, um Kettenaufrufe zu ermöglichen. |
6. | eachSlice () Gruppiert Elemente in Blöcken basierend auf einer bestimmten Größe, wobei der letzte Block möglicherweise kleiner ist. |
7. | Einträge () Alias für die allgemeinere toArray-Methode. |
8. | finden() Findet das erste Element, für das der Iterator true zurückgibt. Komfort-Alias für detect (). |
9. | finde alle() Gibt alle Elemente zurück, für die der Iterator true zurückgegeben hat. Alias als select (). |
10. | grep () Gibt alle Elemente zurück, die dem Filter entsprechen. Wenn ein Iterator bereitgestellt wird, wird dieser verwendet, um den zurückgegebenen Wert für jedes ausgewählte Element zu erzeugen. |
11. | inGroupsOf () Gruppiert Elemente in Blöcken fester Größe und verwendet bei Bedarf einen bestimmten Wert, um den letzten Block zu füllen. |
12. | einschließen() Bestimmt anhand des Vergleichsoperators ==, ob sich ein bestimmtes Objekt in der Aufzählung befindet oder nicht. Alias als Mitglied (). |
13. | injizieren() Erstellt inkrementell einen Ergebniswert basierend auf den aufeinanderfolgenden Ergebnissen des Iterators. |
14. | aufrufen() Optimierung für einen gemeinsamen Anwendungsfall von each () oder collect (): Aufrufen derselben Methode mit denselben potenziellen Argumenten für alle Elemente. |
15. | Karte() Gibt die Ergebnisse der Anwendung des Iterators auf jedes Element zurück. Convenience-Alias für collect (). |
16. | max () Gibt das maximale Element (oder die elementbasierte Berechnung) oder undefiniert zurück, wenn die Aufzählung leer ist. Elemente werden entweder direkt verglichen oder indem zuerst der Iterator angewendet und die zurückgegebenen Werte verglichen werden. |
17. | Mitglied() Bestimmt anhand des Vergleichsoperators ==, ob sich ein bestimmtes Objekt in der Aufzählung befindet oder nicht. Komfort-Alias für include (). |
18. | Mindest() Gibt das minimale Element (oder die elementbasierte Berechnung) oder undefiniert zurück, wenn die Aufzählung leer ist. Elemente werden entweder direkt verglichen oder indem zuerst der Iterator angewendet und die zurückgegebenen Werte verglichen werden. |
19. | partition () Unterteilt die Elemente in zwei Gruppen: die als wahr und die als falsch angesehenen. |
20. | zupfen() Optimierung für einen allgemeinen Anwendungsfall von collect (): Abrufen derselben Eigenschaft für alle Elemente. Gibt die Eigenschaftswerte zurück. |
21. | ablehnen() Gibt alle Elemente zurück, für die der Iterator false zurückgegeben hat. |
22. | wählen() Alias für die findAll () -Methode. |
23. | Größe() Gibt die Größe der Aufzählung zurück. |
24. | Sortieren nach() Bietet eine benutzerdefinierte sortierte Ansicht der Elemente basierend auf den vom Iterator für jedes Element berechneten Kriterien. |
25. | toArray () Gibt eine Array-Darstellung der Aufzählung zurück. Alias als Einträge (). |
26. | Postleitzahl() Reißverschlüsse zusammen (denken Sie an den Reißverschluss an einer Hose) 2 + Sequenzen, die eine Reihe von Tupeln liefern. Jedes Tupel enthält einen Wert pro Originalsequenz. |