ruby-on-rails – 在Ruby中将哈希数组转换为一个哈希值

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 在Ruby中将哈希数组转换为一个哈希值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个带有数组的哈希数组,看起来像这样:
result = [
  {"id_t"=>["1"],"transcript_t"=>["I am a transcript ONE"]},{"id_t"=>["2"],"transcript_t"=>["I am a transcript TWO"]},{"id_t"=>["3"],"transcript_t"=>["I am a transcript THREE"]}
]

如果可能的话,我想做的就是将它变换成一个哈希,其中每个key =>值对取自每个哈希的值.我不认为我解释得那么好,所以这就是我的意思:

end_result = {
  "1"=>"I am a transcript ONE","2"=>"I am a transcript TWO","3"=>"I am a transcript THREE"
}

我一直在寻找Stack Overflow和谷歌的各种方法,但我在这个过程中让自己感到困惑.关于如何实现这一点的任何想法?

解决方法

我认为解决方案的关键是Hash [],它将根据键/值数组创建一个Hash,即
Hash[[["key1","value1"],["key2","value2"]]]
#=> {"key1" => "value1","key2" => "value2"}

只需添加一组地图,您就有了解决方案!

result = [
  {"id_t"=>["1"],"transcript_t"=>["I am a transcript THREE"]}
]
Hash[result.map(&:values).map(&:flatten)]

猜你在找的Ruby相关文章