Bit*_*ise 0 ruby ruby-on-rails
我有一个巨大的数组,列出了创建对象的星期几,所以我最终得到了一个类似于以下内容的数组:
["wednesday", "thursday", "friday"] 除了它包含250,000个元素.
我想要做的是一个新的哈希,它将匹配键并增加值,所以结果如下:
{"wednesday": 250, "thursday": 600, "saturday": 120}
我怎样才能实现这个结果?
这是我目前的代码:
days = []
Invitation.all.each do |invitation|
day = invitation.created_at.strftime("%A")
days.push(day)
end
days
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
Invitation.all.reduce(Hash.new(0)) do |memo, invitation|
memo[invitation.created_at.strftime("%A")] += 1
memo
end
Run Code Online (Sandbox Code Playgroud)
Hash.new(0) 制作一个默认值为0的哈希.这是从数组中获取计数的通用方法
| 归档时间: |
|
| 查看次数: |
476 次 |
| 最近记录: |