我有如下数组:
[[value1, value2],[value1, value2], [value1, value2]]
如何在value1
之前对此数组进行排序,而无需手动迭代数组。有没有内置的方法来做到这一点?我想简单地按字母排序(在这个数组中,我将user_name作为value1,user_id作为value2,并使用options_for_select
rails方法来传递集合。
答案 0 :(得分:5)
这个怎么样?只需使用Array#sort
a = [["def",1],["abc", 2],["de", 5],["xyz", 10],["xxz", 12], ["ab", 2]]
## => [["def", 1], ["abc", 2], ["de", 5], ["xyz", 10], ["xxz", 12], ["ab", 2]]
a.sort
## => [["ab", 2], ["abc", 2], ["de", 5], ["def", 1], ["xxz", 12], ["xyz", 10]]
答案 1 :(得分:1)
尝试:
ary.sort_by {|ary| ary.first }
答案 2 :(得分:0)
另一种方式
a.sort_by { |x,y| x }