[英]How do I add values in an array of arrays?
I have an array of arrays with four integer elements like this: 我有一个数组,其中包含四个整数元素,如下所示:
arrays = [[a1,b1,c1,d1],[a2,b2,c2,d2],[a3,b3,c3,d3]]
I want to add these three arrays. 我要添加这三个数组。 The result should be in one array like:
结果应该在一个数组中,例如:
result = [a1+a2+a3,b1+b2+b3,c1+c2+c3,d1+d2+d3]
I tried but not able to do this. 我尝试了但无法做到这一点。
>> 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]
由于您使用的是Rails,因此可以使用:
arrays.transpose.map &:sum
Here's a quick example: 这是一个简单的示例:
a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
[a, b, c].transpose.map { |x| x.reduce :+ }
=> [12, 15, 18]
For further clarification see " Some Array magic using transpose, map and reduce ". 有关更多说明,请参见“ 一些使用转置,映射和归约的数组魔术 ”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.