Escribí una función de bucle anidado simple para multiplicar todos los elementos en una matriz y generar el valor total, pero cada vez que ejecuto una función de bucle, mi navegador falla o no deja de cargar
function multiplyAll(arr){ Let product = 1; for(let i = 0; i < arr.length; i++){ for(let j = 0; j < arr[i].length; j *= product); } return product; } multiplyAll([[1], [2], [3]]);Estás creando un bucle infinito aquí debido a
for (let j = 0; j < arr[i].length; j *= product); Aquí, j es siempre 0 .
Si desea multiplicar todo el valor anidado, debe hacer lo siguiente:
function multiplyAll(arr) { let product = 1; for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr[i].length; ++j) product *= arr[i][j]; } return product; } console.log(multiplyAll([[1], [2], [3]]));Si solo desea multiplicar todo el valor anidado, simplemente puede hacer lo siguiente:
function multiplyAll(arr) { return arr.flat().reduce((acc, curr) => acc * curr, 1); // If you want to get numbers at any depth then you can flat at any level // using Infinity as // return arr.flat(Infinity).reduce((acc, curr) => acc * curr, 1); } console.log(multiplyAll([[1], [2], [3]]));Bueno, parece que tienes varios problemas, dos de ellos ya son los siguientes: