2017-02-10 1 views
-2

Ich habe folgende hash:Rails iterieren mehrere 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"} 
    ] 
    } 
} 

würde ich separat

1) erste Iteration

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

2) zweite Iteration

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

Wie kann ich? Danke im Voraus.

+0

Ok, und was haben Sie versucht, so weit diese zu lösen? Stackoverflow ist kein Code-Schreibdienst. – Iceman

+0

Ich habe Probleme beim Verständnis der Iteration Operation von mehreren Hash – sirion1987

Antwort

2

Antwort für Ihre Frage ist in How to iterate over a hash in Ruby? überprüfen Sie es.

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

wenn ‚Array‘ wieder ein Hash ist, dann müssen Sie es Schleife wie folgt

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

Wenn ich nur den Schlüssel ": a" drucken möchte? – sirion1987

+0

@DomenicoGarofoli müssen Sie möglicherweise Array als array.each {| elem | setzt elem [0]} – jithya