ruby的api里面有Hash转换成array的方法,但是木有逆转的方法下面给个逆转的方法:
将一维数组转化为哈希
array = ['A', 'a', 'B', 'b', 'C', 'c']
hash = Hash[*array]
# => {"A"=>"a", "B"=>"b", "C"=>"c"}
将二维数组转化为hash
array = [['A', 'a'], ['B', 'b'], ['C', 'c']]
hash = Hash[*array.flatten]
# => {"A"=>"a", "B"=>"b", "C"=>"c"}
也可以使用一下方法:
array = [['A', 'a'], ['B', 'b'], ['C', 'c']]
hash = array.inject({}) do |memo, values|
memo[values.first] = values.last
memo
end
# => {"A"=>"a", "B"=>"b", "C"=>"c"}
本文介绍如何使用Ruby将一维和二维数组转换为哈希。包括使用Hash[*array]及flatten方法,还有通过inject方法实现转换的具体代码示例。

2695

被折叠的 条评论
为什么被折叠?



