0

我有以下哈希 -

{ result: [ {id: 378, name: 'Pete'}, {id: 567, name: 'Pete'} ] }

我想从这个哈希中提取 id 的数组,像这样 -

[378, 567]

除了遍历结果数组之外,最短的方法是什么。有一个 map 方法,但我不太确定如何使用它。

帮助表示赞赏。

4

2 回答 2

3

这个map方法很方便。如果您的输入如下所示:

input = { :result => [ {:id => 378, :name => 'Pete'}, {:id => 567, :name => 'Pete'} ] }

您可以像这样提取ids

ids = input[:result].map{ |obj| obj[:id] }

puts ids.inspect

检查出来

于 2012-05-10T23:28:08.250 回答
0

我没有使用 map 来获取这些值。您可以使用以下技术:

    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 
于 2014-03-26T10:46:21.277 回答