将多级数组转换为单级数组?

时间:2013-08-06 10:50:40

标签: ruby

我想转换这个数组

[[["b", "c"], ["c", "d"]], [["v", "e"], ["r", "g"]]]

[["b", "c"], ["c", "d"], ["v", "e"], ["r", "g"]]

我该怎么转换呢?

2 个答案:

答案 0 :(得分:12)

Array#flatten采用可选的级别

  

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

示例:

[[["b", "c"], ["c", "d"]], [["v", "e"], ["r", "g"]]].flatten(1)
#=> => [["b", "c"], ["c", "d"], ["v", "e"], ["r", "g"]]

答案 1 :(得分:0)

arr = []
a = [[["b", "c"], ["c", "d"]], [["v", "e"], ["r", "g"]]]
a.map{|x| x.map{|y| arr << y}}
puts arr