我有这个嵌套数组
let thirarray = [
[2, 3, 4],
[5, 6, 7, 8],
[9, 10],
];
我想做的是添加每个数组的第一个元素,所以基本上添加2 + 5 + 9 = 16 我知道我可以像这样访问每个元素
//this is how i can access the first element of each array
console.log(thirarray[0][0]);
console.log(thirarray[1][0]);
console.log(thirarray[2][0]);
我知道我可以通过嵌套循环访问像这样的所有元素
let suminsidearrays = 0;
for (i = 0; i < thirarray.length; i++) {
for (let j = 0; j < thirarray[i].length; j++) {
console.log(thirarray[i][j]);
suminsidearrays += thirarray[i][j];
console.log(suminsidearrays);
}
}
所以我的问题是如何添加每个数组的第一个元素?
答案 0 :(得分:0)
这将求和主数组内每个数组中的第一个元素。
const array = [[2, 3, 4],[5, 6, 7, 8],[9, 10]]
let sum = array.reduce((a,c)=>a+c[0],0)
console.log(sum)
更新注释中的新模式要求。
const array = [[2, 3, 4],[5, 6, 7, 8],[9, 10, 11]]
let i = 0, sum = array.reduce((a,c)=>a+c[i++],0)
console.log(sum)
答案 1 :(得分:0)
最简单的方法
let thirarray = [[2, 3, 4],[5, 6, 7, 8],[9, 10]];
var res=0
thirarray.forEach(a=>res+=a[0])
console.log(res)
答案 2 :(得分:0)
我只是想补充一点,我能够使用从@holydragon中学到的知识来解决它。 这就是我所做的
AllPersons
只是为了澄清这种解决方案可用于加数的方法,如果要乘以,只需将变量next的起始值从0更改为1。