Ruby 如何从嵌套哈希返回一些哈希值

Ruby 如何从嵌套哈希返回一些哈希值,ruby,hash,Ruby,Hash,我需要从嵌套哈希数组中检索一些值,如下所示: {:id=>1, :field_id=>200, :name=>"01", :midpoint=>{:lat=>"37.716801", :lng=>"-120.604216"}} {:id=>2, :field_id=>201, :name=>"02", :midpoint=>{:lat=>"37.717551", :lng=>"-120.608567"}} {:id=>

我需要从嵌套哈希数组中检索一些值,如下所示:

{:id=>1, :field_id=>200, :name=>"01", :midpoint=>{:lat=>"37.716801", :lng=>"-120.604216"}}
{:id=>2, :field_id=>201, :name=>"02", :midpoint=>{:lat=>"37.717551", :lng=>"-120.608567"}}
{:id=>3, :field_id=>202, :name=>"03", :midpoint=>{:lat=>"37.714297", :lng=>"-120.612967"}}
{:id=>4, :field_id=>203, :name=>"04", :midpoint=>{:lat=>"37.714591", :lng=>"-120.615368"}}
{:id=>5, :field_id=>204, :name=>"05", :midpoint=>{:lat=>"37.710421", :lng=>"-120.616498"}}
{:id=>1, :field_id=>200}
{:id=>2, :field_id=>201}
{:id=>3, :field_id=>202}
{:id=>4, :field_id=>203}
{:id=>5, :field_id=>204}
我可以使用hash.map()获得一个键的值数组,如下所示:

idArray = inputHash.map { |k| k[:id]}
然而,我想要得到(一个[:name]和[:id]的散列值)。大概是这样的:

{:id=>1, :field_id=>200, :name=>"01", :midpoint=>{:lat=>"37.716801", :lng=>"-120.604216"}}
{:id=>2, :field_id=>201, :name=>"02", :midpoint=>{:lat=>"37.717551", :lng=>"-120.608567"}}
{:id=>3, :field_id=>202, :name=>"03", :midpoint=>{:lat=>"37.714297", :lng=>"-120.612967"}}
{:id=>4, :field_id=>203, :name=>"04", :midpoint=>{:lat=>"37.714591", :lng=>"-120.615368"}}
{:id=>5, :field_id=>204, :name=>"05", :midpoint=>{:lat=>"37.710421", :lng=>"-120.616498"}}
{:id=>1, :field_id=>200}
{:id=>2, :field_id=>201}
{:id=>3, :field_id=>202}
{:id=>4, :field_id=>203}
{:id=>5, :field_id=>204}
试一试-

你应该做:

array_of_hash.collect { |h| { id: h[:id], field_id: h[:field_id] } }

谢谢你,阿米特!这非常简单,我不知道为什么我没有想到嵌套所需的响应!