Dada una función de devolución de llamada, tenemos que iterar sobre una devolución de llamada n veces. La devolución de llamada es una función que se pasa como argumento. para iterar sobre la función de devolución de llamada, tenemos que ejecutar la función de devolución de llamada n vez.
Enfoque 1: Usamos la recursividad para iterar n veces la función de devolución de llamada.
- Primero cree un factor de función de devolución de llamada que tome n como argumento.
- La función factorial genera un patrón de n longitud.
- Cree una función de prueba que tome la función de devolución de llamada y n.
- La función de prueba comprueba que el valor de n es igual a 0 y no.
- Si n es 0, devuelve la función de prueba de finalización; de lo contrario, llama a la función de devolución de llamada que imprime el patrón.
Ejemplo:
Javascript
<script> // callback function that print pattern function factor(n) { // base case for recursion if (n <= 1) { console.log("0" + n); return; } // string to store patterns let str = ""; // loop for generate pattern for (let i = 1; i <= n; i++) { str += `0${i} `; } // printing patterns console.log(str); // recursion call with decrement by 1 return factor(n - 1); } // function to run callback function function test(n, callback) { if (n == 0) { console.log("please provide value n greater than 0"); return; } let k = n; //calling callback function callback(k); } // initialising test number let t_number = 4; // calling main function to call callback function test(t_number, factor); </script>
Producción:
01 02 03 04 01 02 03 01 02 01
Enfoque 2: usamos la declaración de bucle para iterar sobre la devolución de llamada.
- Primero creamos un factor de función de devolución de llamada que genera un factorial de número.
- Cree una función de prueba con el argumento n y la función de devolución de llamada.
- Verifique el valor de n si no es válido, termine si no continúa.
- Crear bucle for con rango n.
- En cada bucle, llame a la función de devolución de llamada que imprime el factorial de cada número.
Ejemplo:
Javascript
<script> // call back function that return factorial function factor(number) { let j = 1; // loop that generate factorial of number for (let i = 1; i <= number; i++) { j *= i; } // printing value of factorial console.log(`factorial of ${number} is `); console.log(j); } // function that iterate over callback function function test(n, callback) { if (n <= 0) { console.log("invalid number"); return; } let k = n; // iterating over callback function with for loop for (let i = k; i >= 1; i--) callback(i); } // initialising test variable let t_umber = 5; // main function calling test(t_umber, factor); </script>
Producción:
factorial of 5 is 120 factorial of 4 is 24 factorial of 3 is 6 factorial of 2 is 2 factorial of 1 is 1
Publicación traducida automáticamente
Artículo escrito por satyam00so y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA