ruby: how to find non-unique elements in array and print each with number of occurrences?

后端 未结 8 1603
轻奢々
轻奢々 2020-12-31 03:54

I have

a = [\"a\", \"d\", \"c\", \"b\", \"b\", \"c\", \"c\"]

and need to print something like (sorted descending by number of occurrences)

8条回答
  •  抹茶落季
    2020-12-31 04:24

    How about:

    a.sort.chunk{|x| a.count(x)}.sort.reverse.each do |n, v|
      puts "#{v[0]}:#{n}" if n > 1
    end
    

提交回复
热议问题