获取哈希散列中的键值

时间:2013-03-18 06:12:06

标签: ruby-on-rails ruby hash

我有一个哈希,例如

{{"badan"=>1, "bau"=>1, "China,"=>1, "pilot."=>1, "RT"=>1, "penentu"=>1, "merupakan"=>1, "China, test test bau"=>1, "satu"=>1, "merupakan salah salah satu"=>1, "RT @WOWFakta: @WOWFakta: Di"=>1, "Di"=>1, "seorang pilot."=>1, "kelulusan menjadi menjadi seorang"=>1, "seorang"=>1, "salah"=>1, "@WOWFakta:"=>1, "satu penentu penentu kelulusan"=>1, "Di Beijing Beijing China,"=>1, "menjadi"=>1, "kelulusan"=>1, "test"=>1, "bau badan badan merupakan"=>1, "Beijing"=>1}=>{"kebali"=>1, "kff"=>1, "box"=>1, "@zannahoctavia"=>1, "kebali kamu kamu ca?"=>1, "ca?"=>1, "kampus"=>1, "kantin"=>1, "kff hah hah goods"=>1, "@zannahoctavia haha haha kali"=>1, "aja"=>1, "box kemang kemang aja"=>1, "yaa"=>1, "china"=>1, "hah"=>1, "hah. Jadi Jadi kebali"=>1, "goods pw pw tapi"=>1, "aja di di kff"=>1, "di"=>1, "pw"=>1, "kemang"=>1, "haha"=>1, "kali kantin kantin kampus"=>1, "Jadi"=>1, "tapi"=>1, "tapi yaa yaa hah."=>1, "kampus china china box"=>1, "hah."=>1, "kamu"=>1, "kali"=>1}}

我希望以非常有效的方式检索所有键的值。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

您可以像哈希在哈希

中包含哈希一样迭代哈希
h.each do |key, value|
  puts key
  value.values.each do |v|
    puts v
  end
end

答案 1 :(得分:0)

您的哈希包含一个键和一个也是哈希的值。您可以尝试以下

hash.flatten.map(&:keys).inject(:+)

或使用flat_map

hash.flatten.flat_map(&:keys)