сортировка 2d массива с нулевым значением - PullRequest
1 голос
/ 15 февраля 2011

У меня есть такой массив

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

Мне нужны первые значения, такие как ["address", "company", "CEO", "Website"], поэтому я сделал

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 Ответ

2 голосов
/ 15 февраля 2011

Вы можете отсортировать его следующим образом:

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

Сначала выполняется сортировка массива по вашим критериям, а после , который транспонирует результат по мере необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...