BLACK FRIDAY

остался 1 день

Скидка 10% и подарок на выбор — при покупке одной программы
При покупке двух программ  — вторая со скидкой 50%

Как найти значение в массиве ruby

Ответы
Аватар пользователя Nikolai Gagarinov
Nikolai Gagarinov
26 ноября 2021

Узнать, содержит ли массив значение можно методом include?


a = [1,2,3,4,5]
a.include?(3)   # true
a.include?(9)   # false

С помощью метода find() (и его алиас detect())

И вернут первое значение, которое удовлетворяет условию в блоке. Если ничего не найдено, то вернется nil

(1..10).detect   { |i| i % 5 == 0 and i % 7 == 0 }   #=> nil
(1..10).find     { |i| i % 5 == 0 and i % 7 == 0 }   #=> nil
(1..100).detect  { |i| i % 5 == 0 and i % 7 == 0 }   #=> 35
(1..100).find    { |i| i % 5 == 0 and i % 7 == 0 }   #=> 35

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

array = [1,2,3]
found = array.select {|e| e == 3} # [3]

found = array.select {|e| e == 3}.first # 3
Добавьте ваш ответ

Рекомендуемые курсы

ruby
testing
metaprogramming
ООП
64 часа
Посмотреть
ruby
ORM
rest api
job workers
52 часа
Посмотреть