Tengo una matriz que contiene 300 elementos []; y quiero sumar cada [yo],
for(var i = 0; i<300; i++){ var array2 = arr[i].reduce((prev, next) => ( return prev + next )) }debería gustarle array1 = [1,2,3,4,5,6,7,8,9..] array2 [3,6,10...]
var arr = [1,2,3,4,5,6,7,8,9,10,.....] var array2 = [] // Log to console for(var i = 1; i<300; i++){ var newArray = arr.slice(0, i+1).reduce((prev, next) => { return prev + next }) array2.push(newArray) } console.log(array2)salida array2: [3, 6, 10, 15, 21, 28, 36, 45, 55...]
en tu codigo
esto provoca un error por dos razones
var array2 = arr[i].reduce((prev, next) => ( return prev + next )) el método reduce() es solo para matrices y arr[i] generaría un número. En su lugar, estaba buscando usar el método slice() .
Y para usar return debe usar llaves {} en lugar de () . Alternativamente, podría haber hecho arr.slice(0, i+1).reduce((prev, next) => prev + next) . (ver: ¿Cuándo debo usar una declaración de devolución en las funciones de flecha de ES6 )