我正在学习Ruby,我想知道如何选择我已经存储在数组中所有哈希值中的每个:values
。数据结构看起来像这样(有更多哈希):
[ { :label => "Grid Singularity ", :values => [44, 1] },
{ :label => "iamsmart ", :values => [44, 1] } ]
如果我这样做:
data_hash[0][:values] #=> [44, 1]
我可以获取第一个哈希的值,但是,我如何一次选择每个:values数组?我的目标是能够对每个值执行相同的操作:值而不必逐个选择它们(这是一个非常长的列表!)
非常感谢你的帮助!
答案 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]]