0

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

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

因为我希望删除重复项:

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

3 回答 3

1

如果你有 和 中的值ab那么

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

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

于 2013-11-06T00:32:01.073 回答
0

你也可以做

a.each_with_index.map {|aa, i| aa | b[i] }
于 2013-11-06T00:41:07.950 回答
0
a.zip(b).map{|x|x.flatten.uniq}
于 2013-11-06T08:20:13.960 回答