访问数组中每个散列的每个值
问题描述:
我在学习Ruby,我想知道如何挑选每个:values
我一次存储在数组中的所有散列中。数据结构看起来像这样(有更多的哈希值):访问数组中每个散列的每个值
[ { :label => "Grid Singularity ", :values => [44, 1] },
{ :label => "iamsmart ", :values => [44, 1] } ]
如果我做的:
data_hash[0][:values] #=> [44, 1]
我能得到第一哈希值,但是,我怎么能选择每个:值数组立刻?我的目标是能够对每个值执行相同的操作:不必逐一选择它们(这是一个很长的列表!)
非常感谢您的帮助!
答
您可以使用map
得到一个新的阵列只是把每个values
键的值从主散列,如:
hash = [
{:label=>"Grid Singularity ", :values=>[44, 1]},
{:label=>"iamsmart ", :values=>[44, 1]}
]
p hash.map { |el| el[:values] }
# => [[44, 1], [44, 1]]
你'data_hash'实际上是一个数组。 –