2012-11-14 27 views
1

我有一個多維數組,其中主要數組中的每個數組元素有兩個子元素,第二個子元素有時可以爲零。我想排序第二個子元素上的主數組,除非第二個子元素爲nil,在這種情況下,爲了計算順序,我希望該排序查找第一個子元素。排序主要元素爲零的次要元素的多維數組

因此,這個數據

[[7, nil], [5, 4], [3,9]] 

會進行排序這樣

[[5, 4], [7, nil], [3,9]] 

有沒有辦法做到這一點?

謝謝!

回答

3
1.8.7 > [[7, nil], [5, 4], [3,9]].sort_by{|a| a.last.nil? ? a.first : a.last} 
=> [[5, 4], [7, nil], [3, 9]] 
+3

'{| a | a.last || a.first}'如果子數組只包含數字和'nil'則會有一個選項。 –