我有一個整數散列作爲鍵和字符串數組作爲值。我需要將它轉換爲一個新的散列,它將原始散列值中字符串數組中每個項的關係反轉爲新散列中的鍵,並且每個原始鍵都成爲關聯值。例如:紅寶石哈希值是數組,需要轉換爲字符串
original = {1 => ['a', 'b', 'c'], 2 => ['g', 'm', 'z']}
new_hash = {'a' => 1, 'b' => 1, 'c' => 1, 'g' => 2, 'm' => 2, 'z' => 2}
我很努力地從原始數組值中提取項目。這很容易做
original.each { |k, v| new_hash[v] = k }
但這保持原始數組作爲新的關鍵。我試過做類似
original.each { |k, v| new_hash[v.each { |i| i }] = k }
但這也返回原始數組。
所有的反應都很好,但這似乎是最「紅寶石式」的方式來做到這一點。非常感謝您向我介紹產品方法。 –