En este artículo podrás encontrar varios ejercicios de recursividad en Javascript con sus respectivas soluciones.
Ejercicio 1
Insertar en un array números aleatorios. El número mínimo de elementos del array se debe pedir desde teclado.
<script> var contenedor = []; var min = prompt("Introduce el mínimo número de elementos que debe contener el array"); //Función que almacena los números aleatorios function aleatorio(){ var num=Math.floor(Math.random()* 100); if(contenedor.length <min){ contenedor.push(num); aleatorio(); } } aleatorio(); document.write(contenedor); </script>
Ejercicio 2
Igual que el ejercicio anterior, pero meter en el array números aleatorios sin que se repitan.
<script> var contenedor = []; var min = prompt("Introduce el mínimo número de elementos que debe contener el array"); //Método que verifica si un elemento ya existe en un array function existe(elemento) { for(i=0;i<contenedor.length;i++) { if(contenedor[i]===elemento) return true; } return false; } //Función que almacena los números aleatorios function aleatorio(){ var num=Math.floor(Math.random()* 100); if(contenedor.length <min){ if(!existe(num)){ contenedor.push(num); } aleatorio(); } } aleatorio(); document.write(contenedor); </script>
Ejercicio 3
Escribe una función recursiva que dado un número entero n, retorne un array con todos los números enteros en orden decreciente desde n a 1.
<script> var n=prompt("Introduce los números que deseas que contenga el array"); var array=[]; function down(n) { if (!n) return array; //Cuando n no sea verdad, porque 0 sabemos que es false. //Los números enteros son verdaderos. array.push(n); down(n-1); } down(n); document.write(array); </script>
Ejercicio 4
Calcular el factorial de un número.
Por ejemplo, 5!=5*4*3*2*1=120 ; 0!=1
<script> var n=prompt("Introduce el número del cual quieres saber su Factorial") function factorial(n){ if(n===0) return 1; else{ return n * factorial(n-1) } } document.write(factorial(n)); </script>
Si quieres aprender más acerca de Javascript, realiza los siguientes ejercicios de arrays/arreglos en Javascript, https://jesusfernandeztoledo.com/ejercicios-resueltos-arrays-en-javascript/