Aprende Ciencias de la Computación con JavaScript Parte 3, Bucles

Introducción

Supongamos que se le ha asignado la tarea de escribir un programa que muestre los números del 1 al 100. Una forma de lograr esto es escribir 100 declaraciones de console.log. Pero estoy seguro de que no lo harías porque te habrías cansado de la línea 9 o 10.  

La única parte que cambia en cada declaración es el número, por lo que debería haber una manera de escribir solo una declaración. Y hay con bucles. Los bucles nos permiten realizar un conjunto de pasos en un bloque de código repetidamente.  

Contenido

  • Mientras bucles
  • Bucles de hacer mientras
  • Para bucles
  • Arrays
  • Bucles de entrada
  • Bucles for-of
  • revisión
  • Recursos

Mientras bucles

Mientras que los bucles ejecutarán un conjunto de declaraciones repetidamente mientras que alguna condición es verdadera. Cuando la condición es falsa, el programa saldrá del bucle. Este tipo de bucle prueba la condición antes de realizar una iteración. Una iteración es una ejecución del cuerpo del bucle. El siguiente ejemplo no mostrará nada porque nuestra condición es falsa.

dejar hambriento = falso; while (hambriento) console.log ("comer"); 

Esta es la forma general de un bucle while:

while (condición) declaración; declaración; etc.

Una cosa de la que hay que tener cuidado al utilizar bucles while es crear bucles que nunca terminan. Esto sucede porque la condición nunca se vuelve falsa. Si te sucede, tu programa se bloqueará. Ejemplo:

dejar hambriento = verdadero; while (hambriento) console.log ("comer"); 

Tarea

Cuántas veces se ejecutará el cuerpo de este bucle:

sea ​​i = 0; mientras yo < 10)  console.log("Hello, World"); i += 1; 

Do-While Loops

Un bucle do-while ejecutará primero el cuerpo de las sentencias y luego verificará la condición. Este tipo de bucle es útil cuando sabe que desea ejecutar el código al menos una vez. El siguiente ejemplo mostrará "comer" una vez, aunque la condición sea falsa.

dejar hambriento = falso; hacer console.log ("comer");  tiempo (hambriento);

Esta es la forma general para hacer un bucle while:

hacer declaración; declaración; etc. while (condición);

Tarea

Escribe un bucle do-while que mostrará los números 1-10.

Para loops

Un for-loop repetirá la ejecución de un bloque de código por un número específico de veces. El siguiente ejemplo muestra los números 1-10:

para (sea i = 1; i <= 10; i++)  console.log(i);  

Esta es la forma general de un bucle for:

para (inicial; condición; paso) declaración; declaración; etc.

Inicial Es una expresión que establece el valor de nuestra variable.. Condición es una expresión que debe ser cierta para que se ejecuten las instrucciones. Y paso Es una expresión que incrementa el valor de nuestra variable..

Un patrón de programación es usar un bucle for para actualizar el valor de una variable consigo misma y un nuevo valor. Este ejemplo suma los números 1-10:

sea ​​x = 0; para (sea i = 1; i <= 10; i++)  x += i;  console.log(x) //55

los += es un operador de asignación que agrega un valor a una variable. Esta es una lista de todos los operadores de asignación:

Operador
Ejemplo
Equivalente
+= x + = 2
 x = x + 2
-= x - = 2
x = x - 2
* = x * = 2
x = x * 2
/ = x / = 2
x = x / 2
% = x% = 2
x = x% 2

Tarea 

Escribe un bucle for que calcula el factorial de un número. El factor de un número. norte es el producto de todos los enteros de 1 a norte. Por ejemplo, 4! (4 factorial) es 1 x 2 x 3 x 4 que es igual a 24.

Arrays

Una matriz es un objeto que contiene una lista de elementos, llamados elementos, a los que se accede mediante su índice. El índice es la posición del elemento en la matriz. El primer elemento está en el índice 0. Las siguientes son algunas operaciones de matriz comunes.

Crear una matriz vacía:

vamos arr = [];

Inicialice una matriz con valores:

let arr = [1, 2, "Hello", "World"]; 

Obtener un elemento de una matriz:

let arr = [1, 2, "Hello", "World"]; arr [0] // 1 arr [2] // "Hola" 

Actualizar un elemento en una matriz:

let arr = [1, 2, "Hello", "World"]; arr [2] = 3; // [1, 2, 3, "Mundo"] 

Bucle sobre una matriz:

let arr = [1, 2, "Hello", "World"]; para (sea i = 0; i < arr.length; i++)  console.log(arr[i]); 

Una matriz bidimensional es una matriz cuyos elementos son matrices. Ejemplo:

let arr = [[1, 2], ["Hello", "World"]]; console.log (arr [0] [1]); // 2

Así es como harías un loop en la matriz y mostrarías cada elemento:

para (sea i = 0; i < arr.length; i++)  for (let j = 0; j < arr[i].length; j++)  console.log(arr[ i ][ j ]);  

Tarea 

¿Qué elemento se muestra cuando i = 1 y j = 0 en el bucle anterior para?

Bucle de entrada

Este tipo de bucle nos permite recorrer las claves de un objeto. Un objeto es una estructura de datos que tiene claves asignadas a valores. Aquí hay algunas operaciones comunes que se pueden realizar en un objeto..

Crear un objeto vacío:

vamos obj = ;

Inicializar un objeto con valores:

let obj = foo: "Hello", barra: "World";

Obtener una propiedad de un objeto:

let obj = foo: "Hello", barra: "World"; obj.foo; // "Hello" obj ["foo"]; //"Hola"

Actualizar una propiedad en un objeto:

let obj = foo: "Hello", barra: "World"; obj.foo = "hi" obj ["foo"] = "hi"

Pasa sobre las teclas de un objeto:

para (dejar la clave en obj) console.log (clave); 

Tarea

¿Qué hace lo anterior para la visualización del bucle dado obj = foo: "Hola", barra: "Mundo"?

For-Of Loop

Este tipo de bucle nos permite recorrer los valores de los objetos iterables. Ejemplos de objetos iterables son matrices y cadenas.

Bucle sobre una matriz:

let arr = ["foo", "bar", "baz"]; para (dejar elem de arr) console.log (elem);  // foo bar baz

Bucle sobre una cuerda:

vamos a str = "hola"; para (let char of str) console.log (char);  //'Hola'

Tarea

Usando cualquiera de los bucles, escribe un programa que muestre este patrón de escalera:

# # # # #

revisión

Los bucles nos permiten reducir la duplicación en nuestro código. Mientras que los bucles nos permiten repetir una acción hasta que una condición sea falsa. Un bucle do-while se ejecutará al menos una vez. Para los bucles, repitamos una acción hasta que lleguemos al final de un conteo. El bucle for-in está diseñado para que podamos acceder a las claves de un objeto. El bucle for-of está diseñado para que podamos obtener el valor de un objeto iterable.. 

A continuación, en la parte 4, aprenderemos sobre las funciones..

Recursos

  • repl.it
  • Especificación ES6
  • No sabes JS: ES6 y más allá