2011-02-15 99 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