-1

我有一个包含四个整数元素的数组,如下所示:

arrays = [[a1,b1,c1,d1],[a2,b2,c2,d2],[a3,b3,c3,d3]] 

我想添加这三个数组。结果应该在一个数组中,例如:

result = [a1+a2+a3,b1+b2+b3,c1+c2+c3,d1+d2+d3]

我试过但无法做到这一点。

4

3 回答 3

4
>> arrays = [[1,2,3,4],[2,3,4,5],[3,4,5,6]]
=> [[1, 2, 3, 4], [2, 3, 4, 5], [3, 4, 5, 6]]
>> arrays.transpose.map { |xs| xs.inject :+ }
=> [6, 9, 12, 15]
于 2013-07-23T07:06:00.993 回答
2

由于您使用的是 Rails,这将起作用:

arrays.transpose.map &:sum
于 2013-07-23T07:13:32.790 回答
1

这是一个简单的例子:

a = [1, 2, 3] 
b = [4, 5, 6] 
c = [7, 8, 9]

[a, b, c].transpose.map { |x| x.reduce :+ } 

=> [12, 15, 18]

如需进一步说明,请参阅“使用转置、映射和归约的一些数组魔法”。

于 2013-07-23T07:17:16.277 回答