2017-09-23 8 views
1

私はRubyを学んでいます。私は配列内のすべてのハッシュに一度に格納した各:valuesを選択する方法を知りたいと思います。データ構造が(もっとハッシュで)次のようになります。配列内の各ハッシュの各値にアクセスします

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

私が行う場合は、次の値の配列:私はそれぞれを選択することができますどのように、

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

は、私が最初のハッシュの値を得ることができますが、すぐに?私の目標は、それぞれ同じ操作を行うことです。値を1つずつ選択する必要はありません(非常に長いリストです)。

ありがとうございました!

+1

。 –

答えて

2

のようにあなたは、ちょうどメインのハッシュから各valuesキーの値をとる新しい配列を取得するためにmapを使用することができます:あなたの `data_hash`は実際には配列です

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

p hash.map { |el| el[:values] } 
# => [[44, 1], [44, 1]] 
関連する問題