我有一个mulitdimensional阵列像这样:排序:排序阵列基于多个条件红宝石
[
[name, age, date, gender]
[name, age, date, gender]
[..]
]
我想知道,根据多个条件这个数组排序的最好方法......例如,如何我会根据年龄第一个然后按名称?
我插科打诨与sort
方法,像这样:
array.sort { |a,b| [ a[1], a[0] ] <=> [ b[1], b[0] ] }
除此之外我真的不明白这个语法,我没有得到我期望的结果。我应该使用sort
方法吗?我应该单独比较mapping
阵列的结果吗?
的[排序由多个对象(由高到低)然后通过字母(字母)的集合(HTTP可能重复:// stackoverflow.com/questions/2232470/sort-a-collection-of-objects-by-number-highest-first-then-by-letter-alphabeti) – 2012-01-17 02:15:38
@pruett:没有不尊重robbrit的回答,但你应该考虑选择回答,使用Enumerable#sort *没有任何问题,除了* Enumerable#sort_by完成这项工作时。这对于登陆这里的人来说可能会产生误导。 – tokland 2012-01-17 08:11:53
可能重复[Ruby多值排序?](http://stackoverflow.com/questions/4309723/ruby-sort-by-multiple-values) – jtbandes 2016-11-08 05:21:45