ruby:如何将哈希转换为数组

use*_*068 8 ruby arrays hash

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

{0=>0.07394653730860076, 1=>0.0739598476853163, 2=>0.07398647083461522}
Run Code Online (Sandbox Code Playgroud)

它需要转换为如下数组:

[[0, 0.07394653730860076], [1, 0.0739598476853163], [2, 0.07398647083461522]]
Run Code Online (Sandbox Code Playgroud)

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

[0.07398921877505593, 0.07400253683443543, 0.07402917535044515]
Run Code Online (Sandbox Code Playgroud)

我尝试了多种方法,但我刚开始学习红宝石.

Aru*_*hit 17

试试这个:

{0=>0.07394653730860076, 1=>0.0739598476853163, 2=>0.07398647083461522}.to_a
#=> [[0, 0.07394653730860076], [1, 0.0739598476853163], [2, 0.07398647083461522]]
Run Code Online (Sandbox Code Playgroud)


pcm*_*pcm 7

绝对使用Hash#to_a方法,它将产生您正在寻找的内容.

{0=>0.07394653730860076, 1=>0.0739598476853163, 2=>0.07398647083461522}.to_a
=> [[0, 0.07394653730860076], [1, 0.0739598476853163], [2, 0.07398647083461522]] 
Run Code Online (Sandbox Code Playgroud)

散列#值只会为您提供散列中每个元素的值,而散列#键只会为您提供键.幸运的是,to_a的默认行为是您正在寻找的.