繁体   English   中英

按此顺序组合2个哈希的最佳方法

[英]Best way to combine 2 hashes in this order

我有2个哈希表list1和list2。 密钥是用户ID。 这是一个例子

list1 = { '1' => [item1, item2],
          '2' => [item3]
        }

list2 = { '1' => [item 4],
          '3' => [item 5]
        }

我需要将2合并为一个列表..类似这样的..或任何更好的表示形式表示赞赏。 基本上,需要将每个用户的list1和list2项组合成一个数组,其中第一个项给我list1项,第二个给我list2项。

{ '1' => [[item 1, item 2], [item 4],
  '2' => [[item 3],[]],
  '3' => [[],[item 5]]
}

我能够以老式的方式执行此操作,但是想知道是否有最佳的方法来执行此操作。想知道是否可以最小化代码和处理。

那输出呢?

{ 
  '1' => [item 1, item 2, item 4],
  '2' => [item 3],
  '3' => [item 5]
}

你可以用它

ret = list1.merge(list2){ |key, old, new| old + new }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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