Подтвердить что ты не робот

Групповой массив хэшей по ключу

У меня есть массив, состоящий из хэшей в следующем виде:

[
  {:user=>"mike" etc},
  {:user=>"mike" etc},
  {:user=>"peter" etc},
  {:user=>"joe" etc}
]

Существуют ли какие-либо удобные способы разделить группу по значению ключа пользователя? Конечный результат должен быть примерно таким:

[
  [{:user=>"mike" etc}, {:user=>"mike" etc}],
  [{:user=>"peter" etc}],
  [{:user=>"joe" etc}]
]
4b9b3361

Ответ 1

Используйте group_by.

array.group_by{|h| h[:user]}.values