【发布时间】:2018-02-12 09:46:14
【问题描述】:
我需要对样本矩阵的元素进行一些计算,它们位于选择性对角线上(这里是对 2 个分离的对角线求和)。所以我可以很容易地用 for 循环来做到这一点:
let matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]] ;
let sum1=0;
let sum2 = 0;
for (var i=0;i<matrix.length-1;i++) {
sum1+=matrix[i][i+1];
sum2+=matrix[i+1][i];
}
console.log(sum1,sum2) ;
问题是: 是否可以在没有 for 循环的情况下使用 es6 函数(如 reduce、map 等)来做到这一点?
【问题讨论】:
-
当然有可能,
reduce相当无所不能。但无论如何它归结为内部循环,所以不要指望它更有效。您是否尝试过使用它们中的任何一个?你可以在网上找到很多sum函数和reduce的示例。 -
顺便说一句,这些都来自 ES5 :-)
标签: javascript arrays ecmascript-6