数组数组中的 Ruby group_by

gko*_*lan 10 ruby arrays multidimensional-array

我的阵列是

fruits = [["apple", "Tue"], ["mango", "Mon"], ["apple", "Wed"], ["orange", "Tue"]]
Run Code Online (Sandbox Code Playgroud)

我想要得到的结果是按水果和计数分组

[["apple", 2], ["mango", 1], ["orange", 1]]
Run Code Online (Sandbox Code Playgroud)

当我想对元素进行分组时,我一直只使用一个数组,如何使用数组数组?

Aru*_*hit 8

fruits = [["apple", "Tue"], ["mango", "Mon"], ["apple", "Wed"], ["orange", "Tue"]]
fruits.group_by(&:first).map{|k,v| [k,v.size]}
# => [["apple", 2], ["mango", 1], ["orange", 1]]
Run Code Online (Sandbox Code Playgroud)


Stu*_*son 8

fruits.group_by {|(fruit, day)| fruit }.map {|fruit, match| [fruit, match.count] }
Run Code Online (Sandbox Code Playgroud)