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

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

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

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

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

解决方法

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

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

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

猜你在找的Ruby相关文章