/ / Elegantemente "Districare" una serie di valori in un hash in ruby ​​- ruby, array, hash

Elegante "Districare" una serie di valori in un hash in rubino: rubino, matrici, hash

Ho una matrice

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

Quale sarebbe un elegante modo di trasformarlo in un hash? (così):

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

risposte:

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

Link alla documentazione: Hash :: []