我有以下哈希 -
{ result: [ {id: 378, name: 'Pete'}, {id: 567, name: 'Pete'} ] }
我想从这个哈希中提取id的数组,就像这样 -
[378, 567]
除了循环遍历结果数组之外,最简单的方法是什么。这是一个地图方法,但我不太清楚如何使用它。
非常感谢帮助。
答案 0 :(得分:3)
map
方法非常方便。如果您的输入如下所示:
input = { :result => [ {:id => 378, :name => 'Pete'}, {:id => 567, :name => 'Pete'} ] }
您可以像这样提取ids
:
ids = input[:result].map{ |obj| obj[:id] }
puts ids.inspect
答案 1 :(得分:0)
我没有使用地图来获取这些值。您可以使用以下技术:
a = { result: [ {id: 378, name: 'Pete'}, {id: 567, name: 'Pete'} ] }
i= [0,1]
output_value = []
for b in i
output_value << a.values[0][b][:id]
end
output_value