2009-10-03 6 views

Répondre

72
array_of_hashes.any? {|h| h[:a] == 11} 
+0

Nice et simple. Merci! –

15

Vous avez demandé un résultat booléen dans l'OQ, mais si vous voulez vraiment que l'élément de hachage lui-même fasse:

array_of_hashes.detect { |h| h[:a] == 11 } 

Si vous voulez que le résultat vraiment rapide, vous pouvez grouper l'objet d'origine, puis obtenir le résultat avec une seule recherche de hachage:

t = array_of_hashes.group_by { |x| x[:a] } 
t[11] 
Questions connexes