Model.find_by_tag_name("#foo")
返回一个数组:
tag_name = "#foo"
tag_name = "#foobar"
tag_name = "#foobarbaz"
我想计算每个唯一tag_name
出现的次数,按该计数对结果进行排序,然后消除重复项。生成的顺序应为:
目前我正在做这样的事情以获得独特的数据和计数:
counter = Hash.new(0)
uniques = results.each{|tag| counter[tag.tag_name] += 1 }.uniq{|tag| tag.tag_name }
以上是counter => {"#foo"=>25, "#foobar"=>40, "#foobarbaz"=>15}
。
检索,删除和计算结果后,我可以采取哪些方法对生成的唯一标记数组(uniques
)按其出现的次数进行排序?
答案 0 :(得分:2)
{"#foo"=>25, "#foobar"=>40, "#foobarbaz"=>15}.sort_by { |k, v| -v }.map(&:first)