如何在scala中获得元组数组的总和

tri*_*tic 5 scala

我有一个简单的元组数组

val arr = Array((1,2), (3,4),(5,6),(7,8),(9,10))
Run Code Online (Sandbox Code Playgroud)

我希望得到(1+3+5+7+9, 2+4+6+8+10)元组作为答案

将和作为元组的最佳方法是什么,类似于常规数组.我试过了

val res = arr.foldLeft(0,0)(_ + _)
Run Code Online (Sandbox Code Playgroud)

这不起作用.

抱歉没有写上下文.我在用algebird烫伤时使用它.Algebird允许元组的总和,我认为这会起作用.那是我的错.

Mic*_*jac 5

没有添加这样的东西Tuple,所以无法工作.你必须在以下每个纵坐标上操作Tuple:

val res = arr.foldLeft(0,0){ case (sum, next) => (sum._1 + next._1, sum._2 + next._2) }

res: (Int, Int) = (25,30)
Run Code Online (Sandbox Code Playgroud)