Arrays 如何在Ruby中按元素计数对嵌套数组排序

Arrays 如何在Ruby中按元素计数对嵌套数组排序,arrays,ruby,sorting,Arrays,Ruby,Sorting,我有以下数组,我想根据嵌套数组中元素的数量按降序排序 array = [[2], [0,3], [0,1], [1,2,4,5], [1,6,10], [], [7,8], [], [], [8], [9]] 排序之后,它应该是这样的 array = [[1,2,4,5], [1,6,10], [0,3], [0,1], [7,8], [8], [9], [2], [], [], []] 我曾想过计算元素并将其保存在嵌套数组中,但我不知道以后如何排序。最后,我希望能够在Ruby中使用msor

我有以下数组,我想根据嵌套数组中元素的数量按降序排序

array = [[2], [0,3], [0,1], [1,2,4,5], [1,6,10], [], [7,8], [], [], [8], [9]]
排序之后,它应该是这样的

array = [[1,2,4,5], [1,6,10], [0,3], [0,1], [7,8], [8], [9], [2], [], [], []]
我曾想过计算元素并将其保存在嵌套数组中,但我不知道以后如何排序。最后,我希望能够在Ruby中使用msort函数。

这只是

array.sort_by(&:size).reverse
  #=> [[1, 2, 4, 5], [1, 6, 10], [0, 3], [0, 1], [7, 8], [2], [8], [9], [], [], []] 
另一种方式:

array.sort_by { |a| -a.size }
还有一点:

array.sort { |a,b| b.size <=> a.size }
那只是

array.sort_by(&:size).reverse
  #=> [[1, 2, 4, 5], [1, 6, 10], [0, 3], [0, 1], [7, 8], [2], [8], [9], [], [], []] 
另一种方式:

array.sort_by { |a| -a.size }
还有一点:

array.sort { |a,b| b.size <=> a.size }

array.sort\u by(&:count).reverse
,这可能是在…
array.sort\u by(&:count).reverse
,这可能是在…甚至是
array.min\u by(array.size){a |-a.size}
)@斯特凡,我真的(暂时)考虑过了奇怪的是,这个问题是dup的问题的答案不包括my#4.甚至
array.min_by(array.size){| a |-a.size}
-)@斯特凡,我真的(暂时)考虑过了奇怪的是,这个问题的答案不包括我的#4。