我试着:

somearray = ["some", "thing"]
anotherarray = ["another", "thing"]
somearray.push(anotherarray.flatten!)

我预期的

["some", "thing", "another", "thing"]

但有

["some", "thing", nil]

当前回答

Somearray = ["some", "thing"]

Anotherarray = ["another", "thing"]

Somearray + anotherarray

其他回答

我发现更容易推入或追加数组,然后将它们压平,如下所示:

somearray = ["some", "thing"]
anotherarray = ["another", "thing"]
somearray.push anotherarray # => ["some", "thing", ["another", "thing"]]
#or
somearray << anotherarray # => ["some", "thing", ["another", "thing"]]
somearray.flatten!  # => ["some", "thing", "another", "thing"]
somearray # => ["some", "thing", "another", "thing"]
["some", "thing"] + ["another", "thing"]

只是另一种方法。

[somearray, anotherarray].flatten
=> ["some", "thing", "another", "thing"]
(array1 + array2).uniq

这样你就可以先得到array1元素。你不会得到副本。

a = ['a', 'b']
b = ['c', 'd']
arr = [a, b].flatten

这不会去除dups,但是

a|b

删除重复。