У меня есть такого рода массив:
[[20680, 31135], [20680, 31136], [20681, 31137],
[20682, 31138], [20682, 31139], [20683, 31140], [20683, 31141],
[20684, 31142], [20685, 31143], [20685, 31144]]
Мне нужно получить вот такой:
[[31135, 31136], [31137],
[31138, 31139], [31140, 31141] и.т.д....
или вот такой хэш:
["20680" => [31135, 31136], "20681" => [31137],
"20682" => [31138, 31139], "20683" => [31140, 31141] и.т.д....
Помогите пожалуйста.
Ответ
Можете использовать inject
a = [[1, 2], ...]
a.inject({}) { |hash, arr|
hash[arr[0]] = hash.fetch(arr[0], []).push(arr[1])
hash
}
Комментариев нет:
Отправить комментарий