How to count identical string elements in a Ruby array

前端 未结 14 2202
感情败类
感情败类 2020-12-02 06:34

I have the following Array = [\"Jason\", \"Jason\", \"Teresa\", \"Judah\", \"Michelle\", \"Judah\", \"Judah\", \"Allison\"]

How do I produce a count for

14条回答
  •  甜味超标
    2020-12-02 07:23

    arr = ["Jason", "Jason", "Teresa", "Judah", "Michelle", "Judah", "Judah", "Allison"]
    
    arr.uniq.inject({}) {|a, e| a.merge({e => arr.count(e)})}
    

    Time elapsed 0.028 milliseconds

    interestingly, stupidgeek's implementation benchmarked:

    Time elapsed 0.041 milliseconds

    and the winning answer:

    Time elapsed 0.011 milliseconds

    :)

提交回复
热议问题