我有一个名为 count
的哈希,定义为 count = {4=>2, 5=>3, 6=>3, 7=>1}
。
我想获取 max
值,然后将与该值对应的键推送到数组中,所以我这样做:
array = []
array.push(count.max_by{|k,v| v}[0])
=>> [5]
但是,6
还具有值 3
,这是另一个最大值。如何将此值插入数组以便获得 [5,6]
而不仅仅是 [5]
?
最佳答案
这是选择哈希值的最大值
的方法:
count.values.max
=> 3
在哈希上使用select
方法:
count.select{ |k, v| v == count.values.max }
=> {5=>3, 6=>3}
获取 key :
count.select{ |k, v| v == count.values.max }.keys
=> [5, 6]
最后分配给一个数组:
array = count.select{ |k, v| v == count.values.max }.keys
关于ruby-on-rails - 在 Ruby 中将最大哈希键值插入数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19802891/