Los bucles for nos permiten repetir una acción un numero determinado de veces. Se usan cuando conocemos el inicio y el fin de los límites.
Veamos un ejemplo: una función que nos sume los números desde el uno hasta el número que le digamos. Ej. SUmaNUmeros(3)–>6 (1+2+3)
function sumaNumeros(num){ let total=0 for(let i=1;i<=num;i++){ total+=i } return total }
Para los siguientes ejercicios sólo utilizaremos bucles for
1.- Una función repetirCadena a la que le pasamos una cadena y un número y nos repite la cadena ese número de veces. Ej: repetirCadena(‘hola’,3)->’holaholahola’ repetirCadena(‘*’,5)->’*****’
2.- Una función listaNumeros a la que le pasamos un número y nos devuelve una cadena con la lista desde el 1 hasta el número que le pasemos separadas por coma. Ej: listaNumeros(4)->’1,2,3,4′
3.- Una función factorial que nos devuelva el factorial de un número. Factorial es la multiplicación de todos los números desde el 1 hasta el número. Ej: factorial(4)–>24 (1*2*3*4)
4.- Una función sumaEntre a la que le pasamos dos números y nos suma los números desde el primero hasta el último ambos incluídos. Ej: sumaEntre(4,8)->30 (4+5+6+7+8)
5.- Una función pares a la que le pasemos un número y nos devuelva una cadena con todos los números pares desde el 2 hasta ese número (nos hará falta un if). Ej: pares (11)->’2,4,6,8,10′
function repetirCadena (cadena, num) { let res = '' for (let i = 0; i < num; i++) { res += cadena } return res } function repetirCadena2 (cadena, num) { return cadena.repeat(num) } function listaNumeros (num) { let res = '' for (let i = 1; i <= num; i++) { res += i + ',' } return res.slice(0, -1) } function factorial (num) { let res = 1 for (let i = 1; i <= num; i++) { res *= i } return res } // SI los numeros no me los dan ordenados asumo que la suma es 0 // Y me quedo tan ancho. Si no que el cliente lo hubiera especificado function sumaEntre (num1, num2) { let suma = 0 for (let i = num1; i <= num2; i++) { suma += i } return suma } // Por desgracia el cliente me lo ha pedido // Aprovecho las funciones que me da JS. Math.max y Math.min function sumaEntreInvertidos (num1, num2) { let suma = 0 for (let i = Math.min(num1, num2); i <= Math.max(num1, num2); i++) { suma += i } return suma } // Por desgracia el cliente me lo ha pedido // Si no las conociera lo tendría que hacer yo function sumaEntreInvertidos2 (num1, num2) { let menor = num1 let mayor = num2 if (num2 < num1) { menor = num2 mayor = num1 } let suma = 0 for (let i = menor; i <= mayor; i++) { suma += i } return suma } function pares (num) { let res = '' for (let i = 1; i <= num; i++) { if (i % 2 == 0) { res += i + ',' } } return res.slice(0, -1) } function pares2 (num) { let res = '' for (let i = 2; i <= num; i += 2) { res += i + ',' } return res.slice(0, -1) }