计算javascript es5中数组的特定位置

计算javascript es5中数组的特定位置,javascript,arrays,mapreduce,sum,ecmascript-5,Javascript,Arrays,Mapreduce,Sum,Ecmascript 5,我有一个二维数组。我想计算每个索引位置值的总和 var arr = [['abc',2,5,'xyz'],['def',7,11,'mno'],['ghi',23,12,'pqr'],['hij',66,90,'uvw']] 我想计算每个阵列的第二和第三个位置,并想得到一个新的阵列 var newArr = [total, (2+7+23+66), (5+11+12+90), (2+7+23+66+5+11+12+90)] newArr = [total, 98, 118 , 216 ]

我有一个二维数组。我想计算每个索引位置值的总和

var arr = [['abc',2,5,'xyz'],['def',7,11,'mno'],['ghi',23,12,'pqr'],['hij',66,90,'uvw']]
我想计算每个阵列的第二和第三个位置,并想得到一个新的阵列

var newArr = [total, (2+7+23+66), (5+11+12+90), (2+7+23+66+5+11+12+90)]
newArr = [total, 98, 118 , 216  ]

只需对内部数组进行
forEach
,提取所需值并将其相加:

var arr=['abc',2,5,'xyz',['def',7,11,'mno',['ghi',23,12,'pqr',['hij',66,90,'uvw'];
var sumElms={};
arr.forEach(函数(arr){
arr.forEach(函数(elm,i){
sumElms[i]=(sumElms[i]| | 0)+elm;
});
});
var newArr=['total',sumElms[1],sumElms[2],sumElms[1]+sumElms[2]];
控制台日志(newArr)您可以使用reduce在O(n)中完成此操作

var arr = [['abc',2,5,'xyz'],['def',7,11,'mno'],['ghi',23,12,'pqr'],['hij',66,90,'uvw']]

var sums = arr.reduce(function(result, row, i){
  result[1] += row[1];
  result[2] += row[2];
  return result
}, ['total', 0, 0])

sums[3] = sums[2] + sums[1]

console.log(sums) // ["total", 98, 118, 216]

对于一个forEach,不需要使用多个for循环(n)


什么是
总数
?如果你想做,就去做,但是你试过什么吗?
var arr = [['abc',2,5,'xyz'],['def',7,11,'mno'],['ghi',23,12,'pqr'],['hij',66,90,'uvw']];

var ff =0;
var ss =0;
arr.forEach(function(val){
    ff += val[1]
    ss += val[2]
})
console.log(ff, ss, ff+ss)