我想从散列中返回最低值的id:
{var1:345 , var2:764 , var3:126 }.return_lowest_value_id => "var3"
没有IF语句,最优雅的Ruby方法是什么?
答案 0 :(得分:5)
在使用哈希的情况下,您可以尝试:
{var1:345 , var2:764 , var3:126 }.sort_by { |k, v| v }.first[0] # => :var3
作为另一种选择,您可以使用min_by
方法:
{var1:345 , var2:764 , var3:126 }.min_by { |k, v| v }[0] # => :var3