我需要一個以散列作爲輸入(鍵是符號和值是數組陣列)的Ruby函數,並返回其關聯數組具有相同第一個值的鍵的列表。紅寶石'group_by'類似的散列方法
下面是一個例子:
h={
:k1 => [2,3,5,12],
:k2 => [9,5,6,10],
:k3 => [2,4,5, 8],
}
f(h) # should return [[:k1,:k3]]
...因爲2只出現在與相關聯的兩個陣列相同的值:K1和:K3。返回Object是一個數組數組(因爲,幾組鍵可以具有相同的數組第一個值)。
到目前爲止,我只是分組的陣列本身:
def f(h)
h.values.group_by{|ary| ary.first}
end
# returns {2=>[[2, 3, 5, 12], [2, 4, 5, 8]], 9=>[[9, 5, 6, 10]]}
我根本不知道這種方法的散列。謝謝 ! – JCLL