如果我给你一个数组:
['apples', 'bananas', 'apples','apples','apples', 'cat', 'dog', 'dog', 'troll']
并说:
打印出每个项目的名称以及它们出现的频率,以便输出为:
apples 4
bananas 1
cat 1
dog 2
troll 1
你会怎么做,看起来很简单,但对我而言,这让我很难过。
答案 0 :(得分:3)
执行以下操作: -
array = [
'apples', 'bananas', 'apples','apples',
'apples', 'cat', 'dog', 'dog', 'troll'
]
array.group_by(&:to_s).each do |k,v|
puts "#{k} #{v.size}"
end
# >> apples 4
# >> bananas 1
# >> cat 1
# >> dog 2
# >> troll 1