0

我有这个功能

@users_age = User.group("date_trunc('year', age(dob))").count

它返回这些条目的哈希,如下所示:

{
   "00:00:00" => 3,
   "1 year" => 5,
   "2 years" => 8,
   ...
}

(这些是那些年内用户数量与用户数量的对比)我想将这些年份分类为 [below 10 years, btn 10-19, btn 20-29, ...] 以使数据得到更多改进因为我想将它绘制在图表中。

如何对条目进行排序?


更新:

我希望将排序的条目作为哈希返回,如下例所示。其中第二个是年龄在该范围内的用户数量。

{"above 50" => 89, "40-49" => 17, ...,"below 10" => 10}
4

1 回答 1

1

怎么样:

counts = your_hash.values.inject(Hash.new(0)) do |collection, value|
  collection[value/10] +=1
  collection
end
于 2013-11-07T03:04:50.437 回答