给定键/值对的散列,如何将其转换为每个键/值对的单个散列数组。
例如,从:
开始{"hello"=>"bonjour", "goodbye"=>"au revoir"}
将其转变为:
[ {"hello" => "bonjour"}, {"goodbye" => "au revoir"} ]
我得到了以下内容,但我想知道是否有更简单的方法:
array = []
hash.each do |k,v|
h = Hash.new
h[k] = v
array << h
end
答案 0 :(得分:3)
使用Enumerable#map
执行以下操作:
h = {"hello"=>"bonjour", "goodbye"=>"au revoir"}
h.map { |k,v| { k => v } }
# => [{"hello"=>"bonjour"}, {"goodbye"=>"au revoir"}]