我有以下的
friends = [{ name: "Jack", attr1:"def", attr2:"def" }, { name: "Jill", attr1:"def", attr2:"def" }]
我想把上面的表示转换成这样的散列
friends = { "Jack" => { attr1: "def", attr2:"def" }, "Jill" => { attr1: "def", attr2: "def" } }
用ruby做这个有什么优雅的方法吗?
最佳答案
Hash[friends.map { |f| _f = f.dup; [_f.delete(:name), _f] }]
# => {"Jack"=>{:attr1=>"def", :attr2=>"def"}, "Jill"=>{:attr1=>"def", :attr2=>"def"}}
关于ruby - Ruby:从一系列哈希中生成哈希,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11230022/