当前位置:首页 > 开发 > 编程语言 > Ruby > 正文

ruby 基础 Array 与 Hash 相互转换

发表于: 2015-06-25   作者:喵喵   来源:转载   浏览:
摘要: ruby的api里面有Hash转换成array的方法,但是木有逆转的方法下面给个逆转的方法:将一维数组转化为哈希  array = ['A', 'a', 'B', 'b', 'C', 'c'] hash = Hash[*array] # => {"A"=>"a", "B"=>"b",

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 基础 Array 与 Hash 相互转换

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
Array是Swift中的数组数据类型,而NSArray是OC中的数组数据类型,两者有区别有联系。在Swift中有时
代码如下: /*========================================================== * 文件名 : Util * 日
一、数组基本概念 数组是相同类型数据的有序集合。 数组描述的是相同类型的若干个数据,按照一定的
一、Hash的定义和赋值 Hash代表键值对的集合,Ruby里的键值可以是任意类型,字符串,数字,甚至是数
一、Hash的定义和赋值 Hash代表键值对的集合,Ruby里的键值可以是任意类型,字符串,数字,甚至是数
一、Hash的定义和赋值 Hash代表键值对的集合,Ruby里的键值可以是任意类型,字符串,数字,甚至是数
今天有同事问到线程的问题,自己突然就有点蒙了,只模糊的记得个大概。 当初学习线程的时候把这7个状
[引用:] [ http://www.missyuan.com/thread-379107-1-1.html ] 第一部分————RGB与HSB的数值转
[引用:] [ http://www.missyuan.com/thread-379107-1-1.html ] 第一部分————RGB与HSB的数值转
数组是一种连续的数据结构,而链表是一种离散的数据结构,链表与数组如何转换呢? 1、 数组转换成链
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号