将值组转换为数组中的单个值

时间:2016-07-05 05:24:15

标签: ruby

我有这种阵列:

a = ["2 3", "4 5 6"]

但我需要转换成这个:

a = ["2", "3", "4", "5","6"]

我怎样才能做到这一点?

5 个答案:

答案 0 :(得分:6)

这个怎么样?

a = ["2 3", "4 5 6"]
a.flat_map(&:split)
# => ["2", "3", "4", "5", "6"]

这或多或少与此相同:

a.map {|s| s.split }.flatten

答案 1 :(得分:3)

a.join(' ').split
  #=> ["2", "3", "4", "5", "6"] 

答案 2 :(得分:1)

您可以尝试以下代码:

arr = ["2 3", "4 5 6"]
op = []
arr.each {|ele| ele.split(' ').each {|val| op << val}}

答案 3 :(得分:1)

请试一试。

a =  ["2 3", "4 5 6"]
b= []
   a.each do |a|
    b << a.split(" ")
   end
b.flatten!

希望这会帮助你。

答案 4 :(得分:0)

你也可以使用这个One-Liner:

a.map{|x| x.split(" ")}.flatten

希望有所帮助:)