2012-10-04 35 views
17

我有以下几点:如何组在Ruby中数组相同的元素

Array = ["John", "Mike", "Bob", "Mike", "Bob"] 

我想输出:

[["Mike", "Mike"], ["Bob", "Bob"], ["John"]] 
+3

欢迎来到StackOverflow!为了在这里获得积极的回应,最好展示你的尝试。你可以编辑你的问题来显示。 –

回答

32

我敢肯定,你会使用现有名称Array有问题,但这里是道路。

Array.group_by{|x| x}.values 
+1

有没有办法做到这一点与proc速记? –

+1

@maxpleaner你可以做'names = [“John”,“Mike”,“Bob”,“Mike”,“Bob”]; names.group_by(&:本身).values' –

相关问题