Rails迭代多个哈希

时间:2017-02-10 11:57:36

标签: ruby-on-rails hash

我有以下哈希:

{
  "2017-01-01" => {
    "2"=> [
      {:a=>"2017-01-01", :b=>"2", :c=>"1"},
      {:a=>"2017-01-01", :b=>"2", :c=>"2"}
    ]
  },
  "2017-01-02" => {
    "5"=> [
      {:a=>"2017-01-02", :b=>"5", :c=>"1"}
    ]
  }
}

我会单独迭代

1)第一次迭代

{
 {:a=>"2017-01-01", :b=>"2", :c=>"1"},
 {:a=>"2017-01-01", :b=>"2", :c=>"2"}
}

2)第二次迭代

{
 {:a=>"2017-01-02", :b=>"5", :c=>"1"}
}

我该怎么办?提前谢谢。

1 个答案:

答案 0 :(得分:2)

你问题的回答在How to iterate over a hash in Ruby? 核实。

hash.each do |key, array|
  puts array
end

如果'array'再次是一个哈希值,那么你需要按如下方式循环它

hash.each do |key, hash2|
  hash2.each do |key2,array|
    puts array
  end 
end