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

29

我有以下内容:

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

我想要获取输出:

[["Mike", "Mike"], ["Bob", "Bob"], ["John"]]

3
欢迎来到StackOverflow!为了在这里获得积极的回应,最好展示你已经尝试过什么。你可以编辑你的问题来展示这一点。 - S.L. Barth
1个回答

55

以下是如何在 Ruby 中实现该功能的方法。

array.group_by{ |x| x }.values

2
有没有使用proc 简写的方法可以实现这个? - max pleaner
11
你可以执行names = ["John", "Mike", "Bob", "Mike", "Bob"]; names.group_by(&:itself).values来对names进行分组。 - Nik So

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接