如何获得哈希的最小值并打印他的密钥

时间:2019-01-13 13:47:01

标签: ruby

我知道了

hash = {
  "Bitcoin" => "$6558.07",
  "Ethereum" => "$468.95",
  "XRP" => "$0.487526",
  "Sprouts" => "$4.5e-07"
}

为了获得最大的成就:

hash.max_by{ |k, v| v[1..v.length-1].to_f}
#=> ["Bitcoin", "$6558.07"]

但是,如果我像min一样这样做:

hash.min_by{ |k, v| v[1..v.length-1].to_f}
#=> ["Sprouts", "$4.5e-07"]

所以我尝试了hash.min,但是我没有发现如何放置好密钥。

1 个答案:

答案 0 :(得分:1)

您唯一的问题是您无法获得密钥名称吗?

例如,您说的是何时做:

puts hash.min_by{ |k, v| v[1..v.length-1].to_f}

您得到

  

豆芽

     

$ 4.5e-07

但是您只想要Sprouts吗? 如果是这样,您只是想念.first

key_of_min = hash.min_by{ |k, v| v[1..v.length-1].to_f}.first

或在puts行上

puts hash.min_by{ |k, v| v[1..v.length-1].to_f}.first

只会给您

  

豆芽