You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对数组中各元素第三位位置的数值求和

解答

实现这个需求必须要经过元素遍历,你写的@arrays.sum[3]无法得到正确结果。

错误原因

  • 你的数组里存储的是未拆分的逗号分隔字符串,不是结构化的嵌套数值数组,无法直接取每个元素的第三位数值。
  • @arrays.sum[3]的执行逻辑和你的预期完全不符:不传块调用sum时,Ruby会直接尝试把数组内的字符串做加法运算,字符串本身不支持数值加法逻辑会直接抛错;就算不报错,后缀[3]是对sum返回的最终结果取索引为3的内容,根本不是提取每个元素的第三位。

正确实现

sum方法本身支持传入块做遍历处理,不需要你额外写循环,只需要在块里定义每个元素的处理规则即可:注意程序索引从0开始计数,第三位对应的索引值是2。

@arrays = ["41,3,4", "39,2,3"]
result = @arrays.sum { |item| item.split(',')[2].to_i }
puts result # 最终输出7,即4+3的计算结果

上述代码逻辑为:遍历每个字符串元素,按逗号拆分成数组,取索引2的内容转成整数,最后自动累加所有取到的数值。


内容的提问来源于stack exchange,提问作者Gibson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 17:06:26