Ruby Hash 排序

2018-09-21  本文已影响28人  bruce_wu

例如:

sort 方法

h={'a'=>2, 'c'=>1, 'b'=>3}
h.sort { |x, y|  x[0]<=>y[0] }    #结果: [["a", 2], ["b", 3], ["c", 1]]
h.sort { |x, y|  y[0]<=>x[0] }    #结果: [["c", 1], ["b", 3], ["a", 2]]

sort_by方法

h.sort_by {|key,value| value}    #结果: [["c", 1], ["a", 2], ["b", 3]]
h.sort_by {|key,value| key}      #结果: [["a", 2], ["b", 3], ["c", 1]]

返回 hash

Hash[h.sort{|x,y|x[0]<=>y[0]}]  结果: {"a"=>2, "b"=>3, "c"=>1}
上一篇 下一篇

猜你喜欢

热点阅读