繁体   English   中英

如何将字符串整数数组转换为整数数组? Ruby

[英]How to convert an array of string integers to an array of integers? Ruby

我有一个数组:

all_ages = ["11", "9", "10", "8", "9"]

我想把它转换成一个整数数组,希望能更容易地将它们加在一起。 非常感谢任何帮助,寻找一级解决方案。

Enumerable#sum可以用一个块来调用,告诉 Ruby 如何对数组的元素求和,在这种情况下,首先在元素上调用String#to_i

all_ages = ["11", "9", "10", "8", "9"]
all_ages.sum(&:to_i)
#=> 47
     
all_ages = ["11", "9", "10", "8", "9"]

代码

p all_ages.map(&:to_i).sum

或者

p all_ages.map { |x| x.to_i }.sum

Output

47

这是一种可能对添加到您的武器库中有用的不同方法:

all_ages = ["11", "9", "10", "8", "9"]

def sum_str_to_i (array)
  total = 0
  array.each {|x| total += x.to_i}
  total
end

sum_str_to_i(all_ages)
#=>  47

或者,如果您不想定义新方法:

total = 0
all_ages.each {|x| total += x.to_i}

total
#=>  47

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM