我有一个散列数组,其中的数组看起来像这样:
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"]}
]
如果可能的话,我想做的是把它转换成ONE hash,其中每个key=〉value对都是从每个hash的值中取出来的。我不认为我解释得很好,所以我的意思是:
end_result = {
"1"=>"I am a transcript ONE",
"2"=>"I am a transcript TWO",
"3"=>"I am a transcript THREE"
}
我一直在搜索Stack Overflow和Google寻找各种方法,但是在这个过程中我把自己弄糊涂了。有什么想法可以实现这个吗?
3条答案
按热度按时间7gyucuyw1#
我认为解决方案的关键是
Hash[]
,它将基于键/值数组创建一个哈希,即只需添加一组
map
,您就有了解决方案!nzk0hqpo2#
试试这个
00jrzges3#
另一种可能是使用Enumerable#inject和Hash#merge的组合:
这最小化了对
[]
-构造的需要,以及; acc
的额外显式返回附录。