在ruby中更好地替换join()和split()

Pin*_*eur 0 ruby arrays join

我有一个字符串数组的数组.

它看起来像这样:

big_array = Array.new
big_array[0] = ["aib","ulster","anglo","hsbc"]
big_array[1] = ["ulster","hdfc","citibank"]
big_array[2] = ["aib", "citibank"]
Run Code Online (Sandbox Code Playgroud)

现在,由此,我想创建另一个包含银行名称的数组.我知道如何做到这一点的唯一方法是.

big_array.join(" ").split(" ").uniq
Run Code Online (Sandbox Code Playgroud)

现在,这适用于少量数据.但是如果big_array的索引达到1000s那会怎么样呢.似乎不是最好的方法.有没有更好的方法来实现这个?

PS我刚刚给出了一个我正在尝试做的例子.不是实际的代码.只想要一个更优雅的解决方案.

fal*_*tru 5

你可以使用Array#flatten:

big_array = Array.new
big_array[0] = ["aib","ulster","anglo","hsbc"]
big_array[1] = ["ulster","hdfc","citibank"]
big_array[2] = ["aib", "citibank"]
big_array.flatten.uniq
# => ["aib", "ulster", "anglo", "hsbc", "hdfc", "citibank"]
Run Code Online (Sandbox Code Playgroud)