【发布时间】:2012-02-11 20:49:21
【问题描述】:
我有一个像这样的多维数组:
[
[name, age, date, gender]
[name, age, date, gender]
[..]
]
我想知道根据多个条件对该数组进行排序的最佳方法...例如,我将如何根据 age first 然后按名称进行排序?
我像这样搞乱sort 方法:
array.sort { |a,b| [ a[1], a[0] ] <=> [ b[1], b[0] ] }
除了我并不真正理解这种语法之外,我也没有得到我期望的结果。我应该使用sort 方法吗?我应该单独比较 mapping 数组的结果吗?
【问题讨论】:
-
@pruett:不尊重 robbrit 的答案,但您应该考虑选择的答案,当 Enumerable#sort_by 完成这项工作时,使用 Enumerable#sort except 没有任何问题。这可能会对登陆这里的人产生误导。