2015-04-02 263 views
-6

阵列我有这个哈希:红宝石哈希与环

{:id => [RN1223,BN3233], :name => ['Red Ring','Blue Bangles'], :category => ['Ring','Bangles']} 

而且我想获得一个新的Hash以下格式:

{:id => 'RN1223', :name => 'Red Ring', :category => 'Ring'}, 
{:id => 'BN3233', :name => 'Blue Bangles', :category => 'Bangles'} 
+0

什么是你的问题? – sawa 2015-04-02 10:16:07

+0

我有这个散列 {:id => [RN1223,BN3233],:name => ['Red Ring','Blue Bangles'],:category => ['Ring','Bangles']} 我想转换成这种形式 {:ID => 'RN1223',:名称=> '红圈',:类=> '戒指'}, {:ID => 'BN3233',:名称=>'蓝色手镯',:category =>'手镯'} – 2015-04-02 10:19:43

回答

1
hsh = {:id => ['RN1223','BN3233'], 
     :name => ['Red Ring','Blue Bangles'], 
     :category => ['Ring','Bangles']} 
hsh.values.transpose.map {|arr| Hash[[:id, :name, :category].zip arr]} 
# => [{:id=>"RN1223", :name=>"Red Ring", :category=>"Ring"}, 
#  {:id=>"BN3233", :name=>"Blue Bangles", :category=>"Bangles"}]