我使用的是Rails,我有一个哈希对象。我想在散列中搜索一个特定值。我不知道与该值相关联的键。
如何检查散列中是否存在特定值?另外,如何找到与该特定值相关联的键?
发布于 2012-01-26 08:29:21
哈希包含Enumerable,因此您可以使用该模块上的许多方法来遍历哈希。它也有这个方便的方法:
hash.has_value?(value_you_seek)
要查找与该值关联的键,请执行以下操作:
hash.key(value_you_seek)
这个API documentation for Ruby (1.9.2)应该是有帮助的。
发布于 2018-07-20 02:10:16
检查散列中是否存在多个值的最简单方法是:
h = { a: :b, c: :d }
h.values_at(:a, :c).all? #=> true
h.values_at(:a, :x).all? #=> false
如果您还需要使用ActiveSupport检查Rails中的空白值:
h.values_at(:a, :c).all?(&:present?)
或
h.values_at(:a, :c).none?(&:blank?)
在没有ActiveSupport的Ruby中,可以通过传递一个块来完成同样的操作:
h.values_at(:a, :c).all? { |i| i && !i.empty? }
发布于 2012-01-26 08:34:23
https://stackoverflow.com/questions/9012388
复制相似问题