Prototyp - wyliczanie
Klasa Enumerable zapewnia duży zestaw przydatnych metod do wyliczeń. Wyliczenia to obiekty, które działają jako zbiór wartości.
Metody wyliczania są najczęściej używane do wyliczania tablic i skrótów . Istnieją inne obiekty, jak ObjectRange i różne obiekty związane z DOM lub AJAX, w których można używać metod wyliczania.
Parametr kontekstu
Każda metoda Enumerable, która przyjmuje iterator, przyjmuje również obiekt kontekstu jako następny (opcjonalny) parametr. Obiekt kontekstu jest tym, z czym będzie powiązany iterator, więc plikthis słowo kluczowe wewnątrz będzie wskazywało na obiekt.
var myObject = {};
['foo', 'bar', 'baz'].each(function(name, index) {
this[name] = index;
}, myObject); // we have specified the context
myObject;
To da następujący wynik -
Wynik
{ foo: 0, bar: 1, baz: 2}
Efektywne korzystanie z niego
Jeśli chcesz wywołać tę samą metodę na wszystkich elementach, skorzystaj z metody invoke () .
Jeśli chcesz pobrać tę samą właściwość dla wszystkich elementów, użyj metody pluck () .
Metody findAll / select pobierają wszystkie elementy, które pasują do danego predykatu. I odwrotnie, metoda throw () pobiera wszystkie elementy, które nie pasują do predykatu. W konkretnym przypadku, gdy potrzebujesz obu zestawów, możesz uniknąć podwójnego zapętlenia: po prostu użyj metody partition () .
Oto pełna lista wszystkich metod związanych z Enumerable.
Prototypowe wyliczalne metody
NOTE - Upewnij się, że masz co najmniej wersję 1.6 pliku prototype.js.
S.No. | Metoda i opis |
---|---|
1. | wszystko() Określa, czy wszystkie elementy są logiczne równoważne true, bezpośrednio lub poprzez obliczenia przez podany iterator. |
2. | każdy() Określa, czy co najmniej jeden element jest logiczny równoważny z true, bezpośrednio lub przez obliczenia przez podany iterator. |
3. | zbierać() Zwraca wyniki zastosowania iteratora do każdego elementu. Aliasowany jako map (). |
4. | wykryć() Znajduje pierwszy element, dla którego iterator zwraca wartość true. Aliasowane przez metodę find (). |
5. | każdy() Umożliwia iterację wszystkich elementów w sposób ogólny, a następnie zwraca Enumerable, umożliwiając w ten sposób wywoływanie łańcuchowe. |
6. | eachSlice () Grupuje elementy w porcje na podstawie podanego rozmiaru, przy czym ostatnia porcja może być mniejsza. |
7. | wpisy () Alias dla bardziej ogólnej metody toArray. |
8. | odnaleźć() Znajduje pierwszy element, dla którego iterator zwraca wartość true. Wygodny alias do wykrywania (). |
9. | Znajdź wszystko() Zwraca wszystkie elementy, dla których iterator zwrócił wartość true. Z aliasem select (). |
10. | grep () Zwraca wszystkie elementy zgodne z filtrem. Jeśli podano iterator, jest on używany do generowania zwracanej wartości dla każdego wybranego elementu. |
11. | inGroupsOf () Grupuje elementy w porcje o stałym rozmiarze, używając określonej wartości, aby wypełnić ostatnią porcję, jeśli to konieczne. |
12. | zawierać() Określa, czy dany obiekt należy do Enumerable, czy nie, na podstawie operatora porównania ==. Alias jako członek (). |
13. | wstrzykiwać() Przyrostowo buduje wartość wyniku na podstawie kolejnych wyników iteratora. |
14. | odwołać się() Optymalizacja pod kątem wspólnego przypadku użycia each () lub collect (): wywołanie tej samej metody z tymi samymi potencjalnymi argumentami dla wszystkich elementów. |
15. | mapa() Zwraca wyniki zastosowania iteratora do każdego elementu. Wygodny alias do metody collect (). |
16. | max () Zwraca maksymalną wartość elementu (lub obliczenia oparte na elementach) lub wartość undefined, jeśli wyliczenie jest puste. Elementy są porównywane bezpośrednio lub najpierw przez zastosowanie iteratora i porównanie zwracanych wartości. |
17. | członek() Określa, czy dany obiekt należy do Enumerable, czy nie, na podstawie operatora porównania ==. Wygodny alias funkcji include (). |
18. | min () Zwraca minimalny element (lub obliczenia oparte na elementach) lub undefined, jeśli wyliczenie jest puste. Elementy są porównywane bezpośrednio lub najpierw przez zastosowanie iteratora i porównanie zwracanych wartości. |
19. | przegroda() Dzieli elementy na dwie grupy: te uważane za prawdziwe i uważane za fałszywe. |
20. | podroby() Optymalizacja pod kątem typowego zastosowania metody collect (): pobieranie tej samej właściwości dla wszystkich elementów. Zwraca wartości właściwości. |
21. | odrzucać() Zwraca wszystkie elementy, dla których iterator zwrócił false. |
22. | Wybierz() Alias metody findAll (). |
23. | rozmiar() Zwraca rozmiar wyliczenia. |
24. | Sortuj według() Zapewnia niestandardowo posortowany widok elementów na podstawie kryteriów obliczonych dla każdego elementu przez iterator. |
25. | toArray () Zwraca reprezentację wyliczenia w postaci tablicy. Z aliasami jako wpisy (). |
26. | zamek błyskawiczny() Zapinane razem (pomyśl o suwaku w spodniach) 2 + sekwencje, zapewniając szereg krotek. Każda krotka zawiera jedną wartość na oryginalną sekwencję. |