// Sintaxis del for es la siguiente:
// for( inicializar variables ; condicion ; modificación )
// Forma 'canónica'
for (let i = 0; i < 10; i++) {
console.log(i); // 0 1 2 ... 9
}
for (let i = 1; i <= 10; i++) {
console.log(i); // 1 2 3 ... 10
}
// Sumar todos los numeros del 1 al 100
let suma = 0;
for (let i = 1; i <= 100; i++) {
suma += i;
}
console.log(suma);
// Incremento de dos en dos
for (let i = 1; i < 1000; i += 2) {
console.log(i);
}
// Restando 1 a la variable
for (let i = 10; i > 0; i--) {
console.log(i);
}
// A partir de aquí esto son experimentos. Se muestran para que veáis que se puede hacer
// PERO NO PARA HACERLO
// for sin inicialización
let j = 0;
for (; j < 10; j++) {
console.log(j)
}
// for sin modificación
for (let i = 0; i < 10;) {
console.log(i);
i++;
}
// for sin condicion
for (let i = 0; ; i++) {
console.log(i);
if (i > 10) {
break; // Esto sirve para salir del bucle
}
}
// for pelado
j = 0;
for (; ;) {
console.log(j);
j++;
if (j > 10) {
break;
}
}
// combinaciones de todas las cosas
for (let i = 0; i < 20; i++) {
if (i % 3 == 0) {
console.log(i + " es múltiplo de 3");
}
}
// Bucles anidados
for (let i = 0; i < 5; i++) {
for (let k = 0; k < 5; k++) {
console.log(i, k);
}
}
for (let i = 0; i < 5; i++) {
for (let k = 0; k < 5; k++) {
if (i < k) {
console.log(i, k);
}
}
}
// Un ejemplo
// Tabla de multiplicar
for (let i = 1; i <= 10; i++) {
console.log(i + " x 5 = " + (i * 5));
}
for (let i = 1; i <= 10; i++) {
console.log(`${i} x 5 = ${(i * 5)}`);
}
// Todas las tablas de multiplicar con un bucle anidado
for (let k = 1; k <= 10; k++) {
for (let i = 1; i <= 10; i++) {
console.log(`${i} x ${k} = ${(i * k)}`);
}
}