繁体   English   中英

将哈希转换为Ruby中的数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM