特定の属性が正しい場合、どのようにオブジェクトの配列を反復処理し、オブジェクト全体を返すことができますか?
Railsアプリに次のものがあります
array_of_objects.each { |favor| favor.completed == false }
array_of_objects.each { |favor| favor.completed }
しかし、何らかの理由で、これら2つは同じ結果を返します! each
をcollect
、map
、keep_if
、および!favor.completed
の代わりにfavor.completed == false
に置き換えようとしましたが、いずれも機能しませんでした!
どんな助けも大歓迎です!
array_of_objects.select { |favor| favor.completed == false }
完了したすべてのオブジェクトがfalseを返します。
select
の代わりにfind_all
を使用することもできます。
最初の場合、
array_of_objects.reject(&:completed)
2番目の場合、
array_of_objects.select(&:completed)
一致するすべてのオブジェクトを取得するには、 Enumerable#find_all
を使用する必要があります。
array_of_objects.find_all { |favor| favor.completed == false }