arrays - Ruby Array of Arrays 按值分组和计数

标签 arrays ruby

我正在尝试获取一个 Ruby 数组数组并将其分组以计算其值。

数组有一个月份和一个 bool 值:

array = [["June", false], ["June", false], ["June", false], ["October", false]]

我想以一个新数组作为结尾,让我知道每个月有多少假与真。

示例:(数组中的第一项是月份,第二项是 false 的计数,第三项是 true 的计数)

new_array = [["June", 3, 0]], ["October", 1, 0]]

最佳答案

使用 Enumerable#group_by :

Array.group_by { |month, b| month }.map{ |month, xs|
  [month,
   xs.count {|_, b| !b},  # false
   xs.count {|_, b| b}]   # true
}
# => [["June", 3, 0], ["October", 1, 0]]

关于arrays - Ruby Array of Arrays 按值分组和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38067083/

相关文章:

C++无法更改数组成员

ruby - (LoadError) 没有要加载的文件 -- jruby/java

Ruby:有关于线程池的 gem 吗?

mysql - 使用 ruby​​ 将变量写入 mysql 的事件记录

Python OpenCV 在中心坐标列表处绘制圆

java - 检查ArrayList元素是否存在

c++ - 将结构指针传递给函数 C++

javascript - 将大括号中的数组转换为方括号中的数组

ruby - rb-libsvm 中的零概率

ruby SSL 代理(MITM)