我有这个字符串:
["1","2","3","4"]
我需要把它变成这样的数组:
[1,2,3,4]
有什么想法吗?
答案 0 :(得分:3)
"IssueDate": "/Date(1407445200000+0300)/",
答案 1 :(得分:2)
使用 map
或 map!
和to_i
> a = ["1","2","3","4"]
> a.map(&:to_i)
#=> [1, 2, 3, 4]
> a
#=> ["1", "2", "3", "4"]
> a.map!(&:to_i)
#=> [1, 2, 3, 4]
> a
#=> [1, 2, 3, 4]
注意: map
和map!
之间的区别是map
方法将返回新数组,而map!
方法将覆盖原始数组。了解更多信息 Refer Doc
答案 2 :(得分:1)
您有一个数组,其中每个元素都是字符串,并且您希望将每个元素转换为整数。
Ruby中的一些方法可以帮助您Array#map成为最方便的。
Map将块作为参数,并针对数组中的每个元素运行它,并返回一个新数组,其中元素是每个转换的结果。所以,如果你做的事情如下:
["1","2","3"].map do |n|
n.to_i
end
对于每个元素,它会调用块(do / end之间的所有内容),makin n 假设要转换的元素的值。
您可以重写上面的代码段以使用花括号而不是do / end block:
["1","2","3"].map { |n| n.to_i }
或者更好的是,使用Ruby的& 运算符直接调用#to_i:
["1","2","3"].map(&:to_i)
答案 3 :(得分:0)
感谢您的回复。刚放松,我错误地写了这个问题。
应该是:
我有一个字符串:
a = "["1","2","3","4"]"
我想返回一个数组:
a = [1,2,3,4]
我最终这样做了:
JSON.parse(a).map{|a| a.to_i})