我一直在学习 Ramda,想知道如何按索引对n数组求和。下面是我能用 2 个数组做的事情。我怎样才能使这种方法规模化?
即我希望能够做到这一点:sumByIndex( arr1, arr2, ..., arrn )
给定列表x
and y
,结果数组应该 yield [x0 + y0, x1 + y1, ..., xn + yn]
。因此,对于n-array的情况,结果数组应该是[ a[0][0] + a[1][0] + ... a[n][0], a[0][1] + a[1][1] + ... a[n][1], ..., a[0][n] + a[1][n] + ... + a[n][n] ]
wherea[n]
数组作为 position 的参数n
。
var array1 = [1,2,3];
var array2 = [2,4,6];
var sumByIndex = R.map(R.sum);
var result = sumByIndex(R.zip(array1, array2));
$('pre').text(JSON.stringify(result, true));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.18.0/ramda.min.js"></script>
<pre></pre>