Метод Ruby Array.find_index: использование и примеры

В Ruby метод .find_indexиспользуется для возврата индекса первого элемента массива, соответствующего заданному условию. Вот несколько примеров использования метода .find_index:

Пример 1. Поиск индекса определенного элемента

arr = [10, 20, 30, 40, 50]
index = arr.find_index(30)
puts index

Выход:

2

Объяснение: В этом примере метод .find_indexиспользуется для поиска индекса элемента 30в массиве arr. Поскольку 30расположен по индексу 2, на выходе будет 2.

Пример 2. Поиск индекса первого элемента, удовлетворяющего условию

arr = [10, 20, 30, 40, 50]
index = arr.find_index { |element| element > 30 }
puts index

Выход:

3

Объяснение: В этом примере метод .find_indexиспользуется с блоком для поиска индекса первого элемента, который больше 30в массиве >прибытие. Поскольку 40— первый элемент, удовлетворяющий условию, на выходе будет 3.

Пример 3. Поиск индекса первого элемента, соответствующего регулярному выражению

arr = ['apple', 'banana', 'orange', 'grape']
index = arr.find_index(/an/)
puts index

Выход:

1

Объяснение: В этом примере метод .find_indexиспользуется для поиска индекса первого элемента в массиве arr, который соответствует регулярному выражению / ан/. Элемент 'banana'соответствует регулярному выражению и находится по индексу 1, поэтому на выходе будет 1.

Пример 4. Поиск индекса элемента в многомерном массиве

arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
index = arr.find_index([4, 5, 6])
puts index

Выход:

1

Объяснение: В этом примере метод .find_indexиспользуется для поиска индекса первого подмассива в многомерном массиве arr, который соответствует заданному подмассиву. массив [4, 5, 6]. Подмассив [4, 5, 6]расположен по индексу 1, поэтому на выходе будет 1.