我有一个称为的哈希count
,定义为count = {4=>2, 5=>3, 6=>3, 7=>1}
。
我要获取max
值,然后将与该值对应的键推入数组,所以我这样做:
array = []
array.push(count.max_by{|k,v| v}[0])
=>> [5]
但是,6
也具有value 3
,这是另一个最大值。我如何将此值推入数组,以便获得[5,6]
而不是[5]
?
这是选择max
哈希值的方法:
count.values.max
=> 3
select
在哈希上使用该方法:
count.select{ |k, v| v == count.values.max }
=> {5=>3, 6=>3}
获取密钥:
count.select{ |k, v| v == count.values.max }.keys
=> [5, 6]
最后分配给一个数组:
array = count.select{ |k, v| v == count.values.max }.keys
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句