Bucles Flashcards
while
let n = 0;
while(n <= 90) {
console.log(n); // -> 0, 10, 20, 30, 40, 50, 60, 70, 80, 90
n += 10;
}
Dejamos la sentencia e inicialización de la variable n sin cambios. El fragmento de código repetitivo se incluye en un bloque de código separado y, al usar la palabra while, especificamos que debe ejecutarse siempre que el valor de la variable n sea inferior a 91.
sintaxis Wile
while (condición) {
bloque de código
}
La **expresión **entre paréntesis se evalúa al comienzo de cada **iteración **del bucle. Si la **condición **se evalúa como verdadera, se ejecutará el código entre llaves.
while_condicional
let isOver = false;
let counter = 1;
while (!isOver) {
isOver = !confirm([${counter++}] ¿Continuar en el bucle?
);
}
do While
let isOver;
let counter = 1;
do {
isOver = !confirm([${counter++}] ¿Continuar en el bucle?
);
} while (!isOver);
…la variable isOver no necesita inicializarse antes del bucle (la condición se verifica al final del bucle y se llamará al cuadro de diálogo de confirmación antes de la primera prueba).
for(sintaxis)
for (inicialización; condición; incremento) {
bloque de código
}
el interior de los paréntesis se divide en:
Inicialización del bucle.
Condición del bucle.
Incremento del bucle
for (ejemplo)
for (let i = 0; i < 10; i++) {
console.log(i);
}
con while sería:
let i = 0;
while (i < 10) {
console.log(i);
i++;
}
Como se muestra en la sintaxis del bucle for, hay tres expresiones dentro de los paréntesis. El let i = 0 es una inicialización, i < 10 es una condición e i++ es un incremento.
for (suma de Array)
let values = [10, 30, 50, 100];
let sum = 0;
for (let i = 0; i < values.length; i++) {
sum += values[i];
}
console.log(sum); // -> 190
… es mejor usar la propiedad de los arreglos llamada .length…Esta propiedad contiene el número actual de elementos del arreglo.
Bucles y Arreglos
Ingresar nombes con Prompt
let names = [];
let isOver = false;
while (!isOver) {
let name = prompt(“Ingresa otro nombre o presiona cancelar.”);
if (name != null) {
names.push(name);
} else {
isOver = true;
}
}
for (let i = 0; i < names.length; i++){
console.log(names[i]);
}
for (revisando un Array)
usamos una variable index que inicializamos con el valor de 0
let values = [10, 30, 50, 100];
for (let i = 0; i < values.length; i++) {
console.log(values[i]); // -> 10, 30, 50, 100
}
for (let i = values.length - 1; i > 0; i–) {
console.log(values[i]); // -> 100, 50, 30, 10
}
for (let i = 0; i < values.length; i += 2) {
console.log(values[i]); // -> 10, 50
}
for…of
let values = [10, 30, 50, 100];
let sum = 0;
for (let number of values) {
sum += number;
}
console.log(sum); // -> 190
Entre corchetes después de la palabra for, no encontrarás tres campos separados por punto y coma. Hay una declaración de variable, seguida de la palabra of y luego un arreglo, cuyos elementos recorreremos (variable o literal). En nuestro ejemplo, for (let number of values) significa que la variable number contendrá los elementos subsiguientes del arreglo values en cada iteración.
for…of (sintaxis)
for (variable of arreglo) {
bloque de código
}
for…of
ejemplo con ciudades
let cities = [
{ name: “New York”, population: 18.65e6 },
{ name: “Cairo”, population: 18.82e6 },
{ name: “Mumbai”, population: 19.32e6 },
{ name: “São Paulo”, population: 20.88e6 },
{ name: “Mexico City”, population: 21.34e6 },
{ name: “Shanghai”, population: 23.48e6 },
{ name: “Delhi”, population: 25.87e6 },
{ name: “Tokyo”, population: 37.26e6 }
];
for (let city of cities) {
if (city.population > 20e6) {
console.log(${city.name} (${city.population})
);
}
}
se usa principalmente con arreglos
for in
clave : valor
let user = {
name: “Calvin”,
surname: “Hart”,
age: 66,
email: “CalvinMHart@teleworm.us”
};
for (let key in user) {
console.log(${key} -> ${user[key]}
);
};
Te permite referirte al campo del objeto seleccionado usando corchetes (como en los arreglos). En el corchete detrás del nombre del objeto, colocamos el nombre del campo, que puede ser un literal o una variable que contenga ese nombre.
${user[key]}`
La sentencia switch … case
switch (expresión) {
case primera_coincidencia:
código
break;
case segunda_coincidencia:
código
break;
default:
código
}
Comienza con la palabra clave reservada switch seguida de la expresión a evaluar entre paréntesis. El siguiente es el bloque de código que tiene una o más cláusulas de caso (técnicamente es posible tener cero casos, pero esto no sería muy útil) seguido directamente por un valor correspondiente a este caso y un carácter de dos puntos. Después de los dos puntos, hay un bloque de código que se ejecutará cuando la expresión se evalúe con este valor de caso. El bloque de código termina opcionalmente con la palabra clave break.
switch … case(ejemplo)
let gate = prompt(“Elegir la puerta: a, b, o c”);
let win = false;
switch (gate) {
case “a”:
alert(“Puerta A: Vacía”);
break;
case “b”:
alert(“Puerta B: Premio Mayor”);
win = true;
break;
case “c”:
alert(“Puerta C: Vacía”);
break;
default:
alert(“No existe la Puerta “ + String(gate));
}
if (win) {
alert(“¡Ganador!”);
}
… puede estar presente un caso especial llamado default (por convención ubicado al final de la instrucción switch; sin embargo, no es obligatorio). El caso default se ejecuta cuando ninguno de los casos coincide con la expresión. La evaluación en sí se realiza con un operador de comparación estricto (===) por lo que no solo debe coincidir el valor, sino también el tipo de valor de caso y la expresión.