hash1 = simple_hash = {"month" => "January", "number" => "1"}
hash2 = {"number" => "2"}
想要检查第二个哈希是否包含第一个哈希中的密钥。
我正在使用它,但不是一个好方法。
simple_hash.each do |k,v|
hash2.each do |k1,v1|
if k1==v1
puts k1
end
end
end
答案 0 :(得分:4)
获取所有常用密钥:
hash1.keys & hash2.keys
# => ["number"]
Incase hash2
总是只有一个键:
hash1.keys.include?(hash2.keys.first)
# => true
如果您只对以下内容感兴趣:
想要检查第二个哈希是否包含第一个哈希中的密钥。
(不管是什么键)。那么这应该足够了:
!(hash1.keys & hash2.keys).empty?
# => true
答案 1 :(得分:1)
您可以使用方法keys
和include
hash1 = {"month" => "January", "number" => "1"}
hash2 = {"number" => "2"}
hash1.each_key do |k|
puts k if hash2.keys.include?(k)
end
答案 2 :(得分:1)
hash1.keys & hash2.keys
=> ["number"]
如果
hash1 = {"month" => "January"}
hash2 = {"number" => "2"}
hash1.keys & hash2.keys
=> []
答案 3 :(得分:0)
如果您正在寻找特定的钥匙,可以使用:
hash1.keys.include?("key_searched")
如果你想比较hash2中的一堆键,你可以使用:
hash2.keys.each{|k| puts k if hash1.keys.include?(k)}