取两个字符串数组并返回一个包含其中项目组合的数组

时间:2015-07-25 16:59:37

标签: arrays ruby

我需要使用两个数组并返回一个包含其中项目组合的数组,首先列出第一个项目。像这样:

combinations(["on","in"],["to","rope"])
# => ["onto","onrope","into","inrope"]

我已经写了一个方法来做到这一点,但在那之后,我无法弄清楚要去哪里。

2 个答案:

答案 0 :(得分:11)

使用Array#product

["on","in"].product(["to","rope"]).map(&:join)
# => ["onto", "onrope", "into", "inrope"]

答案 1 :(得分:0)

def combinations(ary1, ary2)
  ary1.map {|i| ary2.map {|i2|  "#{i}#{i2}" }}.flatten
end