我对ruby很新,而且我有一个看起来像这样的哈希:
{ ["key1", "key2"] => 5, ["key1", "key3"] => 2, ... }
我希望将其转换为类似
的数组[ ["key1", "key2", 5], ["key1", "key3", 2] ... ]
我将如何做到这一点?
答案 0 :(得分:3)
简单地:
hash.collect{|k, v| k << v}
如果您需要原始哈希值不变:
hash.collect{|k, v| k + [v]}
答案 1 :(得分:2)
另一种方式可能是:
hash.map(&:flatten)
# => [["key1", "key2", 5], ["key1", "key3", 2]]
答案 2 :(得分:-1)
to_a正是如此。
{ ["key1", "key2"] => 5, ["key1", "key3"] => 2}.to_a