如何在Ruby中组合这两个数组数组

时间:2013-11-06 00:28:09

标签: ruby arrays delegates combinations

我有两个长度和格式相同的数组。我正在寻找最简单的方法来做这样的事情:

[[:todo],[],['text']].some_operation([[],[:low],[]])
->
[[:todo],[:low],['text']]

因为我希望删除重复项:

[[:todo],[],['text']].some_operation([[:todo],[:low],['text','more']])
->
[[:todo],[:low],['text','more']]

3 个答案:

答案 0 :(得分:1)

如果您的值为ab,那么

a.zip(b).map { |aa, bb| (aa + bb).uniq }

如果你真的想把它放到Array类上,你可以修补它(不是真的推荐,特别是对于这个特定的东西),或者改进它(新的,不适用于旧版本)的版本)。

答案 1 :(得分:0)

您也可以

a.each_with_index.map {|aa, i| aa | b[i] }

答案 2 :(得分:0)

a.zip(b).map{|x|x.flatten.uniq}