Mi pregunta es sobre la función recursiva, por qué muestra siempre NAN en lugar de mostrar el valor del factorial 4.
function factorial(i){ if (i == 1) { return;} return i * factorial(--i);}; console.log(factorial(4));function factorial(i){ if (i == 1) { return 1;} return i * factorial(--i);}; console.log(factorial(4));Ese derecho.
if (i == 1) { return;} deberías devolver un número aquí como return 1;
function factorial(i){ if (i == 1) { return 1;} return i * factorial(--i);}; console.log(factorial(4));versión pequeña del código:
const fact = (num) => num ==1 ? 1 : num * fact(--num);