【问题标题】:ruby: how to convert hash into arrayruby:如何将哈希转换为数组
【发布时间】:2013-05-14 20:14:23
【问题描述】:

我有一个包含数字的哈希:

{0=>0.07394653730860076, 1=>0.0739598476853163, 2=>0.07398647083461522}

需要转换成数组,如:

[[0, 0.07394653730860076], [1, 0.0739598476853163], [2, 0.07398647083461522]]

我尝试了我的 hash.values 这让我:

[0.07398921877505593, 0.07400253683443543, 0.07402917535044515]

我尝试了多种方法,但我才刚刚开始学习 ruby​​。

【问题讨论】:

    标签: ruby arrays hash


    【解决方案1】:

    试试这个:

    {0=>0.07394653730860076, 1=>0.0739598476853163, 2=>0.07398647083461522}.to_a
    #=> [[0, 0.07394653730860076], [1, 0.0739598476853163], [2, 0.07398647083461522]]
    

    【讨论】:

      【解决方案2】:

      一定要使用 Hash#to_a 方法,它会产生你想要的东西。

      {0=>0.07394653730860076, 1=>0.0739598476853163, 2=>0.07398647083461522}.to_a
      => [[0, 0.07394653730860076], [1, 0.0739598476853163], [2, 0.07398647083461522]] 
      

      Hash#values 只会给你散列中每个元素的值,而 Hash#keys 只会给你键。幸运的是, to_a 的默认行为正是您要寻找的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-01-17
        • 1970-01-01
        • 1970-01-01
        • 2010-12-11
        • 2021-10-16
        • 1970-01-01
        • 2021-11-25
        相关资源
        最近更新 更多