¿Cómo sumamos cada elemento de matriz en múltiples matrices?
ex : [[2, 1], [1, 4]] output : [3], [5]En este código es la suma basada en el índice de cada matriz
const in_out = [ [2, 1], [1, 4] ] function calculate(arr) { a = arr.reduce((prev, curr) => prev + curr[idx = 0], 0) b = arr.reduce((prev, curr) => prev + curr[idx = 1], 0) c = [a + b] return c } console.log(calculate(in_out))y lo que quiero es una suma basada en cada matriz y una variable dinámica "in_out" como esta
[2, 1] = 3 and [1, 4] = 5 console.log(calculate (in_out [[2, 1], [1, 4]] ) );y la salida
[8]Use el método Array.reduce() 2 veces, el externo le dará la matriz transformada y el anidado le dará la suma.
const list = [ [2, 1], [1, 4] ]; function calculate(arr) { return arr.reduce((acc, items) => acc.concat(items.reduce((sum, curr) => sum + curr, 0)), []) } console.log(calculate(list))Simplemente asigne y reduzca:
const in_out = [[2, 1],[1, 4],[1,2,3,4],[],[9,8,7,6],[9]]; const calculate = (data) => data.map((arr) => arr.reduce((sum, num) => sum + num, 0) ); console.log(calculate(in_out)); .as-console-wrapper{min-height: 100%!important; top: 0}¡Forma convencional!
function sumTwoDimensi(arr){ var arrSum = []; for(let i = 0; i < arr.length; i++) { var sum = 0; for (let j = 0; j < arr[i].length; j++) { sum = (sum+arr[i][j]); } arrSum[i] = sum; } return arrSum }Luego, para calcularlo todo, solo esta función:
function sumArr(ar) { var sum = 0; for (var i = 0; i < ar.length; i++) { sum += ar[i]; } return sum; }Ejemplo para usarlo:
console.log(sumTwoDimensi(in_out)); console.log(sumArr(sumTwoDimensi(in_out)));¡Solo cópialo!