gpt4 book ai didi

ruby - 如何仅将一个值的累加和添加到数组?

转载 作者:数据小太阳 更新时间:2023-10-29 07:44:13 27 4
gpt4 key购买 nike

我有一个包含 x 和 y 值的数组:

[[some_date1, 1], [some_date2, 3], [some_date3, 5], [some_date4, 7]]

结果应该只对 y 值(1、3、5、7)求和,结果如下所示:

[[some_date1, 1], [some_date2, 4], [some_date3, 9], [some_date4, 16]]

这在 Ruby 中如何实现?

最佳答案

是的,这在 Ruby 中是可能的。您可以使用 [map][1] 并执行如下操作:

sum = 0
array.map {|x,y| [x, (sum+=y)]}

这就是它的工作原理。对于给定的输入:

array = ["one", 1], ["two", 2]

它将遍历数组中的每个元素,例如)第一个元素将是 ["one", 1]

然后它将获取该元素(它本身是一个数组)并将变量 x 分配给该数组中的第一个元素,例如)“one”,将 y 分配给第二个元素,例如) 1

最后,它会返回一个数组,结果如下:

=> ["one", 1], ["two", 3]

关于ruby - 如何仅将一个值的累加和添加到数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16339632/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com