用nil值排序2d数组

时间:2011-02-15 11:17:44

标签: sorting multidimensional-array transpose

我有一个像这样的数组

 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!

1 个答案:

答案 0 :(得分:2)

你可以这样排序:

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

首先使用您的自定义条件对数组进行排序,然后在之后根据需要对结果进行转置。