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ę.