1

我有 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]]
}

我能够以老式的方式做到这一点,但想知道是否有最好的方法来做到这一点......想知道我是否可以最小化代码和处理。

4

1 回答 1

1

这个输出呢?

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

你可以得到它

ret = list1.merge(list2){ |key, old, new| old + new }
于 2012-09-10T08:55:04.593 回答