2017-09-23 1 views
1

J'apprends Ruby et je voudrais savoir comment choisir chaque :values J'ai stocké dans tous les hachages à l'intérieur d'un tableau à la fois. La structure de données ressemble à ceci (avec plus hash):accéder à chaque valeur de chaque hachage à l'intérieur d'un tableau

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

Si je fais:

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

je peux obtenir les valeurs du premier hachage, mais comment puis-je sélectionner chaque: tableau des valeurs immediatement? Mon but est de pouvoir faire la même opération avec chacune: des valeurs sans avoir à les sélectionner une par une (c'est une très longue liste!)

Merci beaucoup pour votre aide!

+1

Votre 'data_hash' est en fait un tableau. –

Répondre

2

Vous pouvez utiliser map pour obtenir un nouveau tableau juste de prendre la valeur de chaque values clés du hachage principal, comme:

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

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