如何在Ruby数组中对相同的元素进行分组

Nic*_*art 26 ruby arrays

我有以下内容:

array = ["John", "Mike", "Bob", "Mike", "Bob"]
Run Code Online (Sandbox Code Playgroud)

我想获得输出:

[["Mike", "Mike"], ["Bob", "Bob"], ["John"]]
Run Code Online (Sandbox Code Playgroud)

saw*_*awa 44

我很确定使用现有名称会有问题__CODE__,但这就是方法.

array.group_by{ |x| x }.values
Run Code Online (Sandbox Code Playgroud)

  • @maxpleaner你可以做`names = ["John","Mike","Bob","Mike","Bob"]; names.group_by(&:本身).values` (8认同)
  • 有没有办法用proc速记来做到这一点? (2认同)