Arrays 访问数组中每个散列的每个值

Arrays 访问数组中每个散列的每个值,arrays,ruby,hash,Arrays,Ruby,Hash,我正在学习Ruby,我想知道如何一次选择存储在数组中所有散列中的每个:值。数据结构如下所示(包含更多散列): 如果我这样做: data_hash[0][:values] #=> [44, 1] 我可以获得第一个散列的值,但是,如何一次选择每个:values数组?我的目标是能够对每个值执行相同的操作,而不必逐个选择它们(这是一个很长的列表!) 非常感谢你的帮助 您可以使用映射从主散列中获取每个值键的值,获得一个新数组,如: hash = [ {:label=>"Grid Sing

我正在学习Ruby,我想知道如何一次选择存储在数组中所有散列中的每个
:值。数据结构如下所示(包含更多散列):

如果我这样做:

data_hash[0][:values] #=> [44, 1]
我可以获得第一个散列的值,但是,如何一次选择每个:values数组?我的目标是能够对每个值执行相同的操作,而不必逐个选择它们(这是一个很长的列表!)


非常感谢你的帮助

您可以使用
映射
从主散列中获取每个
键的值,获得一个新数组,如:

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

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

您的
数据\u散列实际上是一个数组。
hash = [
  {:label=>"Grid Singularity ", :values=>[44, 1]}, 
  {:label=>"iamsmart ",         :values=>[44, 1]}
]

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