[英]Converting a hash to array in ruby
我对ruby还是很陌生,并且得到的哈希值看起来像这样:
{ ["key1", "key2"] => 5, ["key1", "key3"] => 2, ... }
我想将其转换为看起来像的数组
[ ["key1", "key2", 5], ["key1", "key3", 2] ... ]
我将如何去做呢?
只是:
hash.collect{|k, v| k << v}
如果您需要保持原始哈希不变:
hash.collect{|k, v| k + [v]}
另一种方法可能是:
hash.map(&:flatten)
# => [["key1", "key2", 5], ["key1", "key3", 2]]
to_a正是这样做的。
{ ["key1", "key2"] => 5, ["key1", "key3"] => 2}.to_a
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.