【发布时间】:2018-12-05 02:49:19
【问题描述】:
我有以下嵌套哈希结构:
{12 => {:points=>0, :diff=>0},
1=> {:points=>18, :diff=>57},
4=>{:points=>12, :diff=>67},
5=>{:points=>9, :diff=>62}}
我想先按点(降序)和 diff 第二(升序)对其进行排序。
我只能使用以下值之一对其进行排序:
my_hash.sort_by {|participant_id, values| values[:points] }.reverse.to_h
但我一直无法找到按这两个值对其进行排序的方法。
我尝试过使用:
my_hash.sort_by {|participant_id, values| values[:diff] or values[:points] }.reverse.to_h
关于哈希排序的大多数答案都考虑一个值,例如this,而其他情况似乎不符合我的目的。您能帮忙寻找解决方案吗?
【问题讨论】: