В настоящее время обработка данных является большой ответственностью для каждого веб-приложения и мобильного приложения. Массивы упрощают процесс и могут обрабатывать любой список данных. Когда у вас есть данные в массиве, вы можете легко их сортировать, удалять дубликаты, изменять их порядок по возрастанию или по убыванию и многое другое.

В программировании на Ruby существует множество методов для объекта Array, например Map, Collect, Select, Reject, Every, Inject, Reduce, Detect и Find. Большинство разработчиков Ruby on Rails используют эти методы в своих веб-приложениях.

В этом блоге мы описали разницу между всеми методами. Давайте рассмотрим их, чтобы выбрать тот, который лучше всего подходит для ваших требований.

1. Карта

Метод карты берет каждый элемент из массива и оценивает
данный блок в нем. Вывод будет в виде массива, содержащего оцененные результаты без изменения исходного массива.

2. Карта!

Если вы хотите изменить исходный массив, заменив элементы выходного массива элементами исходного массива, вы можете использовать карту! метод.

3. Собрать

Нет никакой разницы между методом сбора и карты, оба метода работают одинаково. Точно карта! и собирай! методы тоже одинаковые.

4. Выберите

Метод select берет каждый элемент из массива и оценивает данный блок в нем. Если блок или оператор оцениваются как истинные, исходные элементы добавляются в выходной массив. В этом случае выходной массив и исходный массив отличаются. Если вы хотите заменить исходный массив выходным массивом, вы можете использовать select! Метод.

5. Отклонить

Метод отказа прямо противоположен методу выбора. Для оценки потребуется каждый элемент массива в блоке. Выходной массив будет состоять из всех элементов исходного массива, для которых блок оценивается как ложный. Отказ! метод также противоположен методу select! метод.

6. Каждый

Каждый метод будет перебирать массив, беря каждый элемент из него для оценки. Он вернет исходный массив, но не оцененный. Теперь от вас зависит, какую операцию вы хотите выполнить в блоке.

7. Внедрить

Метод inject принимает два аргумента: один как аккумулятор, а другой как каждый элемент массива. Аккумулятор накапливает оцененные значения. В результате возвращается окончательное значение аккумулятора. Начальное значение аккумулятора можно определить, если не определить, что он принимает первый элемент массива в качестве начального значения.

8. Уменьшить

Метод сокращения аналогичен методу ввода.

9. Обнаружить

Метод обнаружения аналогичен методу выбора, но единственное отличие заключается в его выходных данных. Метод обнаружения также оценивает блок для каждого элемента массива, но возвращает первый элемент в массиве, для которого блок оценивается как истина или выражение в блоке оценивается как истина.

10. Найти

Метод Find аналогичен методу Detect.