Arrays 如何最好地使用.each修改数组
我正在使用Ruby,我正在重新学习数组并试图更好地理解它们。我知道它们是什么,但从未充分利用它们。我有一个数组,赔率,并想在它的每一个数字加倍。我提出了以下解决方案;然而,我想看看是否有一个更优雅/简单的解决方案来解决我的问题Arrays 如何最好地使用.each修改数组,arrays,ruby,each,Arrays,Ruby,Each,我正在使用Ruby,我正在重新学习数组并试图更好地理解它们。我知道它们是什么,但从未充分利用它们。我有一个数组,赔率,并想在它的每一个数字加倍。我提出了以下解决方案;然而,我想看看是否有一个更优雅/简单的解决方案来解决我的问题 odds = [1,3,5,7,9] odds.each do |x| odds[odds.index(x)]=x*2 end 最终结果是赔率=[2,6,10,14,18]你可以使用地图枚举器以修改数组中的每个项: odds.map!{ |x| x*2}
odds = [1,3,5,7,9]
odds.each do |x|
odds[odds.index(x)]=x*2
end
最终结果是
赔率=[2,6,10,14,18]
你可以使用地图代码>枚举器以修改数组中的每个项:
odds.map!{ |x| x*2}
你可以使用地图代码>枚举器以修改数组中的每个项:
odds.map!{ |x| x*2}
如果您真的想就地修改,并且真的想使用每个
,我想您的方法和任何方法一样好。它感觉不太习惯,但它确实满足您所声明的约束条件
以下是一些更常见的方法:
Array.map
使用map
映射数组不会修改原始数组(它不在适当的位置),这通常是一件好事,但可能不是您想要的:
odds.map { |x| x*2 }
Array.map强>
如果确实要修改原始数组,可以使用map代码>要映射到位:
数组。每个索引
您确实特别询问了每个
,因此如果您想使用每个
,并且要修改原始数组,每个索引
可能是您的最佳选择:
odds.each_index { |i| odds[i] *= 2 }
如果您真的想就地修改,并且真的想使用每个
,我想您的方法和任何方法一样好。它感觉不太习惯,但它确实满足您所声明的约束条件
以下是一些更常见的方法:
Array.map
使用map
映射数组不会修改原始数组(它不在适当的位置),这通常是一件好事,但可能不是您想要的:
odds.map { |x| x*2 }
Array.map强>
如果确实要修改原始数组,可以使用map代码>要映射到位:
数组。每个索引
您确实特别询问了每个
,因此如果您想使用每个
,并且要修改原始数组,每个索引
可能是您的最佳选择:
odds.each_index { |i| odds[i] *= 2 }
您没有指定所使用的编程语言。请标记问题。您没有指定使用的编程语言。请把问题贴上标签。