ruby - 如何在 ruby​​ 中像这样的数组中添加多个数组

标签 ruby arrays

我有一个像这样的数组:

array = [[val1, val2, val3], [val1, val2, val3], [val1, val2, val3]]

我正在尝试做:

[[val1+val1+val1], [val2+val2+val2], [val3+val3+val3]

我正在尝试找到一种 Ruby 方法,让它变得更简单、更不那么困惑。

最佳答案

使用 Array#transpose 转置数组,然后使用 Enumerable#map获取每行的总和:

array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
array.transpose.map { |a| a.inject :+ }
# => [12, 15, 18]

关于ruby - 如何在 ruby​​ 中像这样的数组中添加多个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21161071/

相关文章:

ruby - 寻找可以在指定时间运行作业的作业队列

javascript - 如果数组存在,则继续

ruby - 在 Ruby 中操作字符串和数组

javascript - 如何在javascript中生成不排序的数组集合?

javascript - 在 $.each 函数中使用条件来创建数组

Java 斐波那契系列 - 返回数组中的值

ruby-on-rails - 在 Rails 中撤消脚手架

ruby - 在 Bluehost 上使用 Phusion Passenger 进行 Rails 部署

ruby-on-rails - 如何在模型中创建新属性?

ruby-on-rails - 在 Rails 模型中调用方法时未定义的方法