如何在 Ruby 中展平数组?

Eli*_*asz 9 ruby

在红宝石上。我有数组数组c = [["a"], ["b"]]

如何将其转换为 c = a + b

c = ["a", "b"]
Run Code Online (Sandbox Code Playgroud)

对于任何数组。也许可以不使用其他变量。里面的所有数组都没有展平。

d = [ [["a"], ["b"]], [["c"], ["d"]], [["e"], ["f"]] ] 
Run Code Online (Sandbox Code Playgroud)

我需要 [ [["a"], ["b"], ["c"], ["d"], ["e"], ["f"]] ]

San*_*osh 17

Array#flatten也接受一个参数。

可选的 level 参数确定要展平的递归级别。

c = [[["a"]], [["b"]]]

c.flatten
# => ["a", "b"]

c.flatten(1)
# => [["a"], ["b"]]
Run Code Online (Sandbox Code Playgroud)

  • 今天学到了新东西 (3认同)