我希望按值排序Ruby中的Hash,然后在相等的情况下按键排序。 我尝试了这个,但它返回相同的数组:
hash.sort { |x, y|
if x[1] == y[1]
comp = x[0] <=> y[0]
else
comp = x[1] <=> y[1]
end
comp
}
答案 0 :(得分:6)
hash.sort {|h1,h2| h1.reverse <=> h2.reverse }
或简单地说:
hash.sort_by(&:reverse)
如果你想让哈希作为回应:
Hash[ hash.sort_by(&:reverse) ]