如何按降序对数组进行排序?

时间:2014-03-07 13:41:55

标签: ruby sorting

我有一个数组:

a = [ 0,9,6,12,1]

我需要一种按降序排序的方法:

a = [12,9,6,1,0]

为了按升序排序,我有一个Ruby函数a[].to_a.sort, 我正在寻找一个按降序对数组进行排序的函数。

2 个答案:

答案 0 :(得分:13)

执行以下操作

 a = [ 0,9,6,12,1]
 sorted_ary = a.sort_by { |number| -number }
 # or 
 sorted_ary = a.sort.reverse

<强>更新

另一种好方法:

a.sort {|x,y| -(x <=> y)}

答案 1 :(得分:0)

你可以这样做:

[ 0,9,6,12,1].sort_by do |sort|
  -sort
end