我有这种阵列:
a = ["2 3", "4 5 6"]
但我需要转换成这个:
a = ["2", "3", "4", "5","6"]
我怎样才能做到这一点?
答案 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
希望有所帮助:)