如何在Ruby中查找数组中唯一元素及其出现次数

43

我有一个包含若干元素的数组,如何获取每个元素在数组中出现的次数?

例如,已知以下数组:

a = ['cat', 'dog', 'fish', 'fish']

结果应该是:

a2 #=> {'cat' => 1, 'dog' => 1, 'fish' => 2}

我该怎么做?


可能是 如何在 Ruby 中将数字分组到不同的桶中 的重复问题。 - Andrew Grimm
12个回答

1
a = ['cat','dog','fish','fish']
a2 = Hash.new(0)
a.each do |e|
    a2[e] += 1
end
a2

0

红宝石万岁!

count = Hash[Hash[rows.group_by{|x| x}.map {|k,v| [k, v.count]}].sort_by{|k,v| v}.reverse]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接