midudev / aprende-javascript-problemas

Repositorio para indicar problemas en la plataforma de Aprende JavaScript
https://aprendejavascript.dev
123 stars 4 forks source link

Error en Array en Javascript #344

Closed SirJulianM closed 1 year ago

SirJulianM commented 1 year ago

Buenas tengo este problema

Dada una lista de números, escribe una función en JavaScript que devuelva la suma de todos los números pares en la lista. La función deberá iterar sobre cada número en la lista, comprobar si el número es par y, si es así, añadirlo a la suma total. Usa el bucle que quieras para solucionarlo.

function sumarPares(numeros) { let suma = 0 numeros = [1,2,3,4] numeros.forEach((numero) => { if(numero % 2 == 0){ suma = suma + numero } }) return suma }

sumarPares([1,1,1,3]); sumarPares([2,2,4,3]);

Sin embargo, me sale esto

return type Expected: "function" Actual: "function" return type Expected: "number" Actual: "number" fn([1, 2, 3, 4]) Expected: 6 Actual: 6 fn([1, 1, 1, 3]) Expected: 0 Actual: 6 fn([2, 2, 4, 3]) Expected: 8 Actual: 6

¿Dónde está el error?

victorflores04 commented 1 year ago

Veo que el errorcillo que tienes es por que estas redefiniendo la variable numeros... ignorando el argumento que se pasa a la funcion. Se resolvería quitando numeros = [1,2,3,4]

SirJulianM commented 1 year ago

@victorflores04 no entiendo por qué me pide tres vectores, cuando en realidad solo puede ponerse uno

FreelancerHN504 commented 1 year ago

de esta manera se resuelve el ejercicio. function sumarPares(numeros) { let suma = 0 let i=0; while(i<=numeros.length){ if(numeros[i] % 2===0){ suma+=numeros[i]; } i++; } return suma }

SirJulianM commented 1 year ago

Muchas gracias @FreelancerHN504