`
喵喵
  • 浏览: 5613 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ruby 基础 Array 与 Hash 相互转换

    博客分类:
  • ruby
阅读更多

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"}

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics