2013-01-15 64 views
0

哈希我有一個數組優雅「解開」值的數組到紅寶石

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

會是什麼把它變成一個哈希的優雅方式? (像這樣):

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

難道我們假設你已經有工作,但*不雅*解決方案?展示下。 –

+0

我確實有一個,但它顯得太不雅; D – mlkmt

回答

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::[]

+2

注意:需要Ruby> = 1.9(在1.8中,哈希項的順序是未指定的) –

+0

非常好,謝謝! – mlkmt