2017-09-23 50 views
1

我在學習Ruby,我想知道如何挑選每個:values我一次存儲在數組中的所有散列中。數據結構看起來像這樣(有更多的哈希值):訪問數組中每個散列的每個值

[ { :label => "Grid Singularity ", :values => [44, 1] }, 
    { :label => "iamsmart ", :values => [44, 1] } ] 

如果我做的:

data_hash[0][:values] #=> [44, 1] 

我能得到第一哈希值,但是,我怎麼能選擇每個:值數組立刻?我的目標是能夠對每個值執行相同的操作:不必逐一選擇它們(這是一個很長的列表!)

非常感謝您的幫助!

+1

你'data_hash'實際上是一個數組。 –

回答

2

您可以使用map得到一個新的陣列只是把每個values鍵的值從主散列,如:

hash = [ 
    {:label=>"Grid Singularity ", :values=>[44, 1]}, 
    {:label=>"iamsmart ",   :values=>[44, 1]} 
] 

p hash.map { |el| el[:values] } 
# => [[44, 1], [44, 1]]