我有以下Array = ["Jason", "Jason", "Teresa", "Judah", "Michelle", "Judah", "Judah", "Allison"]
如何为每个相同元素生成计数?

Where:
"Jason" = 2, "Judah" = 3, "Allison" = 1, "Teresa" = 1, "Michelle" = 1?

生成哈希,其中:

哪里:
杂凑= {“Jason” => 2,“犹大” => 3,“Allison” => 1,“Teresa” => 1,“Michelle” => 1}

最佳答案

names = ["Jason", "Jason", "Teresa", "Judah", "Michelle", "Judah", "Judah", "Allison"]
counts = Hash.new(0)
names.each { |name| counts[name] += 1 }
# => {"Jason" => 2, "Teresa" => 1, ....

09-04 12:27