Ответ 1
array_of_objects.select { |favor| favor.completed == false }
Вернет все завершенные объекты.
Вы также можете использовать find_all
вместо select
.
Как вы можете перебирать массив объектов и возвращать весь объект, если определенный атрибут верен?
У меня есть следующее в моем приложении rails
array_of_objects.each { |favor| favor.completed == false }
array_of_objects.each { |favor| favor.completed }
но по какой-то причине эти два возвращают тот же результат! Я попытался заменить each
на collect
, map
, keep_if
, а также !favor.completed
вместо favor.completed == false
, и никто из них не работает!
Любая помощь очень ценится!
array_of_objects.select { |favor| favor.completed == false }
Вернет все завершенные объекты.
Вы также можете использовать find_all
вместо select
.
Для первого случая
array_of_objects.reject(&:completed)
Для второго случая
array_of_objects.select(&:completed)
Вам нужно использовать Enumerable#find_all
, чтобы получить все согласованные объекты.
array_of_objects.find_all { |favor| favor.completed == false }