Hck*_*Hck 217
这将返回max hash键值对,具体取决于hash元素的值:
def largest_hash_key(hash)
hash.max_by{|k,v| v}
end
Run Code Online (Sandbox Code Playgroud)
小智 34
我找到了这种方式,返回第一个最大值的键
hash.key(hash.values.max)
Run Code Online (Sandbox Code Playgroud)
小智 16
另一种方式可能如下:
hash.each { |k, v| puts k if v == hash.values.max }
Run Code Online (Sandbox Code Playgroud)
这将遍历每个键值对,并返回(或在本例中为puts)键,其中值等于所有值的最大值.如果存在平局,则应返回多个键.
如果要返回键值对,可以使用select方法:
hash.select {|k,v| v == hash.values.max }
Run Code Online (Sandbox Code Playgroud)
如果您想根据顺序(第二大、最小等)检索多个键值对,更有效的方法是对散列进行一次排序,然后获得所需的结果。
def descend_sort(hash)
hash = hash.sort_by {|k,v| v}.reverse
end
Run Code Online (Sandbox Code Playgroud)
最大值的键
puts *hash[0][0]
Run Code Online (Sandbox Code Playgroud)
获取最大值和最小值
puts *hash[0], *hash[hash.length-1]
Run Code Online (Sandbox Code Playgroud)
第二大键值对
Hash[*hash[1]]
Run Code Online (Sandbox Code Playgroud)
将散列数组转换回散列
hash.to_h
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63895 次 |
| 最近记录: |