访问数组中每个哈希的每个值

时间:2017-09-23 20:33:46

标签: arrays ruby hash

我正在学习Ruby,我想知道如何选择我已经存储在数组中所有哈希值中的每个:values。数据结构看起来像这样(有更多哈希):

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

如果我这样做:

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

我可以获取第一个哈希的值,但是,我如何一次选择每个:values数组?我的目标是能够对每个值执行相同的操作:值而不必逐个选择它们(这是一个非常长的列表!)

非常感谢你的帮助!

1 个答案:

答案 0 :(得分: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]]