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。