ruby - 如何在Ruby中查找数组的唯一出现次数
问题描述
我有一个数组,包含n
大量元素。每个元素包含两个单词。
这使得数组看起来像这样:['England John', 'England Ben', 'USA Paul', 'England John']
我想找到每个国家/地区的唯一名称的数量。例如,England
将有 2 个唯一名称John
存在两次。
到目前为止,我已将数组拆分为两个数组,一个包含国家,例如,['England', 'Usa', ...]
另一个包含名称['John', 'Paul', ...]
,但是我不确定从这里去哪里
解决方案
一个班轮选项:
ary.uniq.group_by { |e| e.split.first }.transform_values(&:count)
#=> {"England"=>2, "USA"=>1}
推荐阅读
- azure - Azure 门户,图形 api:来宾用户
- haskell - 要么是 b。两年后的不同 Hoogle 结果?
- react-native - 如何在反应原生应用程序中删除 iOS 的原生手势?
- php - 交换矩阵中最大和最小的数
- objective-c - 在Objective C中设置保留声明属性的set方法有什么区别?
- php - 停用后帖子无法正确显示
- python - Anaconda 问题,DLL 加载失败
- javascript - React 组件访问共享点
- git - 将代码推送到存储库中时,Git hub 出错?
- excel - VBA UDF 索引匹配运行时错误 424:需要对象