优雅地将一系列值“解开”成红宝石中的哈希值

时间:2013-01-15 14:39:18

标签: ruby arrays hash

我有一个数组

[{:id=>1, :name=>"name"}, {:id=>2, :name=>"name2"}, {:id=>45, :name=>"name3"}]

什么是优雅方式将其转换为哈希? (像这样):

{1=>"name", 2=>"name2", 45=>"name3"}

1 个答案:

答案 0 :(得分:2)

arr = [{:id=>1, :name=>"name"}, {:id=>2, :name=>"name2"}, {:id=>45, :name=>"name3"}]
hash = Hash[arr.map &:values]
# => {1=>"name", 2=>"name2", 45=>"name3"}

文档链接:Hash::[]