2011-02-15 93 views
1

我有這樣排序二維數組與零值

a=[["address", "US"], ["company", "apple"], ["CEO", ""], ["Website", ""]] 

數組我需要一個像[「地址」,「公司」,「CEO」,「網站」]第一個值 所以我做了什麼是

a.transpose 

[["address", "company", "CEO", "Website"], ["US", "apple", "", ""]] 

現在我需要的第一陣列..和其相應的價值排序 當我做

[["address", "company", "CEO", "Website"], ["US", "apple", "", ""]].sort 

我得到

[["US", "apple", "", ""], ["address", "company", "CEO", "Website"]] 

但我要的是

[["address", "CEO", "company", "Website"], ["US", "", "apple", "" ] 

如果任何機構可以幫助這會是GR8!

回答

2

可以這樣排序的:

a.sort_by { |e| e[0].downcase } .transpose 

這首先排序數組與您的自定義標準,並是調換後的結果,因爲你需要它。

+1

謝謝..這似乎在做伎倆! – 2011-02-16 02:49:07