如何按长度对Ruby字符串数组进行排序?

时间:2010-07-03 17:17:41

标签: ruby sorting arrays

我如何排序:

arr = ["aaa","aa","aaaa","a","aaaaa"];

进入这个?

arr = ["a","aa","aaa","aaaa","aaaaa"];

3 个答案:

答案 0 :(得分:67)

arr = arr.sort_by {|x| x.length}

或者在1.8.7 +:

arr = arr.sort_by(&:length)

答案 1 :(得分:11)

您还可以使用sort

arr.sort{|x, y| x.length <=> y.length}

答案 2 :(得分:5)

arr = arr.sort{|x,y| x.length - y.length}也有效。