Прототип - Перечисление

Класс Enumerable предоставляет большой набор полезных методов для перечислений. Перечисления - это объекты, которые действуют как набор значений.

Методы перечисления в основном используются для перечисления массивов и хэшей . Существуют и другие объекты, такие как ObjectRange и различные объекты, связанные с DOM или AJAX, в которых вы можете использовать методы перечисления.

Параметр контекста

Каждый метод Enumerable, который принимает итератор, также принимает объект контекста в качестве следующего (необязательного) параметра. Объект контекста - это то, к чему будет привязан итератор, поэтомуthis ключевое слово внутри него будет указывать на объект.

var myObject = {};

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

myObject;

Это даст следующий результат -

Вывод

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

Эффективное использование

  • Если вам нужно вызвать один и тот же метод для всех элементов, используйте метод invoke () .

  • Если вам нужно получить одно и то же свойство для всех элементов, используйте метод pluck () .

  • В FindAll / выберите методы извлечения все элементы , которые соответствуют заданному предикату. И наоборот, метод reject () извлекает все элементы, не соответствующие предикату. В конкретном случае, когда вам нужны оба набора, вы можете избежать двойного цикла: просто используйте метод partition () .

Вот полный список всех методов, связанных с Enumerable.

Перечислимые методы прототипа

NOTE - Убедитесь, что у вас установлена ​​как минимум версия 1.6 prototype.js.

S.No. Метод и описание
1. все()

Определяет, являются ли все элементы логическим эквивалентом true, либо напрямую, либо путем вычисления предоставленным итератором.

2. Любые()

Определяет, является ли хотя бы один элемент логическим эквивалентом истины, напрямую или посредством вычисления предоставленным итератором.

3. собирать ()

Возвращает результаты применения итератора к каждому элементу. С псевдонимом map ().

4. обнаружить ()

Находит первый элемент, для которого итератор возвращает значение true. Псевдоним методом find ().

5. каждый ()

Он позволяет вам перебирать все элементы обычным образом, а затем возвращает Enumerable, тем самым позволяя вызывать цепочки.

6. eachSlice ()

Группирует элементы в блоки по заданному размеру, причем последний блок может быть меньше.

7. записи ()

Псевдоним для более общего метода toArray.

8. находить()

Находит первый элемент, для которого итератор возвращает значение true. Удобный псевдоним для detect ().

9. найти все()

Возвращает все элементы, для которых итератор вернул истину. С псевдонимом select ().

10. grep ()

Возвращает все элементы, соответствующие фильтру. Если предоставляется итератор, он используется для получения возвращаемого значения для каждого выбранного элемента.

11. inGroupsOf ()

Группирует элементы в блоки фиксированного размера, используя определенное значение для заполнения последнего блока, если это необходимо.

12. включают()

Определяет, находится ли данный объект в Enumerable или нет, на основе оператора сравнения ==. Под псевдонимом member ().

13. inject ()

Постепенно выстраивает значение результата на основе последовательных результатов итератора.

14. invoke ()

Оптимизация для общего варианта использования each () или collect (): вызов одного и того же метода с одинаковыми потенциальными аргументами для всех элементов.

15. карта()

Возвращает результаты применения итератора к каждому элементу. Удобный псевдоним для collect ().

16. Максимум()

Возвращает максимальный элемент (или вычисление на основе элементов) или значение undefined, если перечисление пусто. Элементы сравниваются либо напрямую, либо сначала применяется итератор и сравниваются возвращаемые значения.

17. член ()

Определяет, находится ли данный объект в Enumerable или нет, на основе оператора сравнения ==. Удобный псевдоним для include ().

18. мин ()

Возвращает минимальный элемент (или вычисление на основе элементов) или значение undefined, если перечисление пусто. Элементы сравниваются либо напрямую, либо сначала применяется итератор и сравниваются возвращаемые значения.

19. раздел ()

Разбивает элементы на две группы: те, которые считаются истинными, и те, которые считаются ложными.

20. щипать ()

Оптимизация для общего случая использования collect (): получение одного и того же свойства для всех элементов. Возвращает значения свойств.

21. отклонить ()

Возвращает все элементы, для которых итератор вернул false.

22. Выбрать()

Псевдоним для метода findAll ().

23. размер()

Возвращает размер перечисления.

24. Сортировать по()

Предоставляет настраиваемый отсортированный вид элементов на основе критериев, вычисленных для каждого элемента итератором.

25. toArray ()

Возвращает представление перечисления в виде массива. Псевдонимы как записи ().

26. zip ()

Застегивается вместе (подумайте о молнии на паре брюк) 2+ последовательности, обеспечивая массив кортежей. Каждый кортеж содержит одно значение на исходную последовательность.