将数组[“1”,“3”,“2”]转换为[132]

时间:2013-08-11 12:40:17

标签: ruby

我有一个这样的数组:

["1", "3", "2"]["2", "3", "1"]["3", "1", "2"]...

并希望将其转换为如下所示的数组:

[132][231]..

我该怎么办?谢谢!

3 个答案:

答案 0 :(得分:4)

使用Enumerable#mapArray#joinString#to_i

a = ["1", "3", "2"],["2", "3", "1"],["3", "1", "2"]
a.map { |x| x.join.to_i } # => [132, 231, 312]
a.map { |x| [x.join.to_i] } # => [[132], [231], [312]]

答案 1 :(得分:3)

a = [["1", "3", "2"],["2", "3", "1"],["3", "1", "2"]]
a.map{|e| [e.join.to_i]}
# => [[132], [231], [312]]

答案 2 :(得分:2)

确保您的变量格式正确,然后如上所述

a = [["1", "3", "2"],["2", "3", "1"],["3", "1", "2"]]
a.map do |x|
    x.join.to_i 
end