He intentado hacer un ciclo while donde sumo todos los números de la matriz a una sola suma. Sigo recibiendo un bucle sin fin. También intenté hacer (matriz.longitud) (matriz.longitud --) (matriz.longitud>números) Pero nada de lo que intenté funcionó... ¿alguna sugerencia? :)
function sumNumbersWhileLoop(array, sum) { array = [1, 5, 4, 6, 7]; sum = 0; for (let numbers of array) { while (array.length>0) { sum += numbers; console.log(sum); } } }No necesitas el ciclo while . El bucle for...of va a iterar sobre la matriz hasta su longitud.
function sumNumbersWhileLoop(array, sum) { array = [1, 5, 4, 6, 7]; sum = 0; for (let numbers of array) { sum += numbers; } console.log(sum) } sumNumbersWhileLoop(); Si desea usar while o reduce , puede hacer lo siguiente:
function sumNumbersWhileLoop() { const array = [1, 5, 4, 6, 7]; let len = array.length - 1; let sum = 0; while (len >=0) { sum += array[len--]; } console.log(sum); // Or use reduce : const reduceSum = array.reduce((acc, item) => acc + item, 0); console.log(reduceSum); } sumNumbersWhileLoop();Puedes probar esto:
function sum(arr, sum) { arr = [1, 5, 4, 6, 7]; sum = 0; while (arr.length > 0) { sum += arr.pop(); } return sum; } console.log(sum());