如何在ruby中的地图列表中合并值

用户名

说我有List <MAP <String <List,>>这样的数据结构,我只想让List保持地图的值,

喜欢,我想转换以下示例:

x = [{“ key1” => [“ list1”,“ list1”]},{“ key2” => [“ list2”,“ list2”]},{“ key3” => [“ list3”,“ list3 “]}]

至:

y = [[“” list1“,” list1“],[” list2“,” list2“],[” list3“,” list3“]]

有什么快速的方法可以做到这一点吗?谢谢

忍者

想到的最快的事情就是利用flat_map

x = [ { "key1" => ["list1", "list1"] }, 
      { "key2" => ["list2", "list2"] }, 
      { "key3" => ["list3", "list3"] }]

y = x.flat_map(&:values)

=> [["list1", "list1"], ["list2", "list2"], ["list3", "list3"]]

flat_map是Enumerable(https://ruby-doc.org/core-2.6.3/Enumerable.html#method-i-flat_map上的实例方法

values是Hash上的实例方法(https://ruby-doc.org/core-2.6.3/Hash.html#method-i-values

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章