ruby - 如何在不使用循环的情况下按数组中的计数分组

标签 ruby

arr = [1,2,1,3,5,2,4]

如何通过排序按组值对数组进行计数?我需要以下输出:

x[1] = 2  
x[2] = 2  
x[3] = 1  
x[4] = 1  
x[5] = 1

最佳答案

x = arr.inject(Hash.new(0)) { |h, e| h[e] += 1 ; h }

关于ruby - 如何在不使用循环的情况下按数组中的计数分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5470725/

相关文章:

ruby - 如何使 gem install 命令仅在未安装或需要更新时安装

ruby - 在 Ruby 测试中避免 protected 级别的访问器和相等方法

ruby - Ruby 中的 DateTime.parse() 是否依赖于语言环境?

ruby - 有没有办法用两个不同的分隔符拆分 Rails 中的对象数组?

ruby-on-rails - ActiveJob 是否有具有特定优先级的队列?

ruby-on-rails - 自动跟踪 Rails 中的模型更改

ruby - 如何通过给定的键数组减少 Ruby 哈希?

ruby-on-rails - 带 rails 的 omniauth : get facebook user's information

ruby - 如何使用私钥加密完全加密 Ruby 中的数据?

ruby - 如何消除代码中不相关的输出?