2017-02-10 76 views
-2

我有以下散列:滑軌遍歷多個散列

{ 
    "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"} 
} 

我能怎麼做?提前致謝。

+0

好,和你嘗試過什麼迄今爲止解決這個問題? Stackoverflow不是一個代碼寫入服務。 – Iceman

+0

我無法理解多重散列的迭代操作 – sirion1987

回答

2

回答爲你的問題是在How to iterate over a hash in Ruby? 檢查它。

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

如果「數組」又是一個哈希值,那麼你需要循環播放如下

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

如果我只想打印密鑰「:a」? – sirion1987

+0

@DomenicoGarofoli您可能需要將數組循環爲array.each {| elem |放置elem [0]} – jithya