Skip to content

Commit f92f104

Browse files
committed
Clase 4 | 31/07/2024
Mapas, bucles y funciones
1 parent 60cf221 commit f92f104

File tree

7 files changed

+357
-2
lines changed

7 files changed

+357
-2
lines changed

Basic/12-map.js

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
/*
2+
Clase 4 en vídeo | 31/07/2024
3+
Mapas, bucles y funciones
4+
https://www.twitch.tv/videos/2212289583?t=00h17m45s
5+
*/
6+
7+
// Map
8+
9+
// Declaración
10+
11+
let myMap = new Map()
12+
13+
console.log(myMap)
14+
15+
// Inicialiación
16+
17+
myMap = new Map([
18+
["name", "Brais"],
19+
["email", "braismoure@mouredev.com"],
20+
["age", 37]
21+
])
22+
23+
console.log(myMap)
24+
25+
// Métodos y propiedades
26+
27+
// set
28+
29+
myMap.set("alias", "mouredev")
30+
myMap.set("name", "Brais Moure")
31+
32+
console.log(myMap)
33+
34+
// get
35+
36+
console.log(myMap.get("name"))
37+
console.log(myMap.get("surname"))
38+
39+
// has
40+
41+
console.log(myMap.has("surname"))
42+
console.log(myMap.has("age"))
43+
44+
// delete
45+
46+
myMap.delete("email")
47+
48+
console.log(myMap)
49+
50+
// keys, values y entries
51+
52+
console.log(myMap.keys())
53+
console.log(myMap.values())
54+
console.log(myMap.entries())
55+
56+
// size
57+
58+
console.log(myMap.size)
59+
60+
// clear
61+
62+
myMap.clear()
63+
64+
console.log(myMap)
65+
66+
67+

Basic/13-structures-exercises.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
Clase 4 en vídeo | 31/07/2024
3+
Mapas, bucles y funciones
4+
https://www.twitch.tv/videos/2212289583?t=00h17m45s
5+
*/
6+
7+
// 1. Crea un array que almacene cinco animales
8+
9+
// 2. Añade dos más. Uno al principio y otro al final
10+
11+
// 3. Elimina el que se encuentra en tercera posición
12+
13+
// 4. Crea un set que almacene cinco libros
14+
15+
// 5. Añade dos más. Uno de ellos repetido
16+
17+
// 6. Elimina uno concreto a tu elección
18+
19+
// 7. Crea un mapa que asocie el número del mes a su nombre
20+
21+
// 8. Comprueba si el mes número 5 existe en el map e imprime su valor
22+
23+
// 9. Añade al mapa una clave con un array que almacene los meses de verano
24+
25+
// 10. Crea un Array, transfórmalo a un Set y almacénalo en un Map

Basic/14-loops.js

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
/*
2+
Clase 4 en vídeo | 31/07/2024
3+
Mapas, bucles y funciones
4+
https://www.twitch.tv/videos/2212289583?t=00h17m45s
5+
*/
6+
7+
// Loops o bucles
8+
9+
// for
10+
11+
for (let i = 0; i < 5; i++) {
12+
console.log(`Hola ${i}`)
13+
}
14+
15+
const numbers = [1, 2, 3, 4, 5, 6, 7, 8]
16+
17+
for (let i = 0; i < numbers.length; i++) {
18+
console.log(`Elemento: ${numbers[i]}`)
19+
}
20+
21+
// while
22+
23+
let i = 0
24+
while (i < 5) {
25+
console.log(`Hola ${i}`)
26+
i++
27+
}
28+
29+
// Bucle infinito
30+
// while(true) {
31+
// }
32+
33+
// do while
34+
35+
i = 6
36+
do {
37+
console.log(`Hola ${i}`)
38+
i++
39+
} while (i < 5)
40+
41+
// for of
42+
43+
myArray = [1, 2, 3, 4]
44+
45+
mySet = new Set(["Brais", "Moure", "mouredev", 37, true, "braismoure@mouredev.com"])
46+
47+
myMap = new Map([
48+
["name", "Brais"],
49+
["email", "braismoure@mouredev.com"],
50+
["age", 37]
51+
])
52+
53+
myString = "¡Hola, JavaScript!"
54+
55+
for (let valor of myArray) {
56+
console.log(valor)
57+
}
58+
59+
for (let valor of mySet) {
60+
console.log(valor)
61+
}
62+
63+
for (let valor of myMap) {
64+
console.log(valor)
65+
}
66+
67+
for (let valor of myString) {
68+
console.log(valor)
69+
}
70+
71+
// break y continue
72+
73+
for (let i = 0; i < 10; i++) {
74+
if (i == 5) {
75+
continue
76+
} else if (i == 7) {
77+
break
78+
}
79+
console.log(`Hola ${i}`)
80+
}

Basic/15-loops-exercises.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/*
2+
Clase 4 en vídeo | 31/07/2024
3+
Mapas, bucles y funciones
4+
https://www.twitch.tv/videos/2212289583?t=00h17m45s
5+
*/
6+
7+
// NOTA: Explora diferentes sintaxis de bucles para resolver los ejercicios
8+
9+
// 1. Crea un bucle que imprima los números del 1 al 20
10+
11+
// 2. Crea un bucle que sume todos los números del 1 al 100 y muestre el resultado
12+
13+
// 3. Crea un bucle que imprima todos los números pares entre 1 y 50
14+
15+
// 4. Dado un array de nombres, usa un bucle para imprimir cada nombre en la consola
16+
17+
// 5. Escribe un bucle que cuente el número de vocales en una cadena de texto
18+
19+
// 6. Dado un array de números, usa un bucle para multiplicar todos los números y mostrar el producto
20+
21+
// 7. Escribe un bucle que imprima la tabla de multiplicar del 5
22+
23+
// 8. Usa un bucle para invertir una cadena de texto
24+
25+
// 9. Usa un bucle para generar los primeros 10 números de la secuencia de Fibonacci
26+
27+
// 10. Dado un array de números, usa un bucle para crear un nuevo array que contenga solo los números mayores a 10

Basic/16-functions.js

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
/*
2+
Clase 4 en vídeo | 31/07/2024
3+
Mapas, bucles y funciones
4+
https://www.twitch.tv/videos/2212289583?t=00h17m45s
5+
*/
6+
7+
// Funciones
8+
9+
// Simple
10+
11+
function myFunc() {
12+
console.log("¡Hola, función!")
13+
}
14+
15+
for (let i = 0; i < 5; i++) {
16+
myFunc()
17+
}
18+
19+
// Con parámetros
20+
21+
function myFuncWithParams(name) {
22+
console.log(`¡Hola, ${name}!`)
23+
}
24+
25+
myFuncWithParams("Brais")
26+
myFuncWithParams("MoureDev")
27+
28+
// Funciones anónimas
29+
30+
const myFunc2 = function (name) {
31+
console.log(`¡Hola, ${name}!`)
32+
}
33+
34+
myFunc2("Brais Moure")
35+
36+
// Arrow functions
37+
38+
const myFunc3 = (name) => {
39+
console.log(`¡Hola, ${name}!`)
40+
}
41+
42+
const myFunc4 = (name) => console.log(`¡Hola, ${name}!`)
43+
44+
myFunc3("Brais Moure")
45+
myFunc4("Brais Moure")
46+
47+
// Parámetros
48+
49+
function sum(a, b) {
50+
console.log(a + b)
51+
}
52+
53+
sum(5, 10)
54+
sum(5)
55+
sum()
56+
57+
function defaultSum(a = 0, b = 0) {
58+
console.log(a + b)
59+
}
60+
61+
// Por defecto
62+
63+
defaultSum()
64+
defaultSum(5)
65+
defaultSum(5, 10)
66+
defaultSum(b = 5)
67+
68+
// Retorno de valores
69+
70+
function mult(a, b) {
71+
return a * b
72+
}
73+
74+
let result = mult(5, 10)
75+
console.log(result)
76+
77+
// Funciones anidadas
78+
79+
function extern() {
80+
console.log("Función externa")
81+
function intern() {
82+
console.log("Función interna")
83+
}
84+
intern()
85+
}
86+
87+
extern()
88+
// intern() Error: fuera del scope
89+
90+
// Funciones de orden superior
91+
92+
function applyFunc(func, param) {
93+
func(param)
94+
}
95+
96+
applyFunc(myFunc4, "función de orden superior")
97+
98+
// forEach
99+
100+
myArray = [1, 2, 3, 4]
101+
102+
mySet = new Set(["Brais", "Moure", "mouredev", 37, true, "braismoure@mouredev.com"])
103+
104+
myMap = new Map([
105+
["name", "Brais"],
106+
["email", "braismoure@mouredev.com"],
107+
["age", 37]
108+
])
109+
110+
myArray.forEach(function (value) {
111+
console.log(value)
112+
})
113+
114+
myArray.forEach((value) => console.log(value))
115+
116+
mySet.forEach((value) => console.log(value))
117+
118+
myMap.forEach((value) => console.log(value))

Basic/17-functions-exercises.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/*
2+
Clase 4 en vídeo | 31/07/2024
3+
Mapas, bucles y funciones
4+
https://www.twitch.tv/videos/2212289583?t=00h17m45s
5+
*/
6+
7+
// NOTA: Explora diferentes sintaxis de funciones para resolver los ejercicios
8+
9+
// 1. Crea una función que reciba dos números y devuelva su suma
10+
11+
// 2. Crea una función que reciba un array de números y devuelva el mayor de ellos
12+
13+
// 3. Crea una función que reciba un string y devuelva el número de vocales que contiene
14+
15+
// 4. Crea una función que reciba un array de strings y devuelva un nuevo array con las strings en mayúsculas
16+
17+
// 5. Crea una función que reciba un número y devuelva true si es primo, y false en caso contrario
18+
19+
// 6. Crea una función que reciba dos arrays y devuelva un nuevo array que contenga los elementos comunes entre ambos
20+
21+
// 7. Crea una función que reciba un array de números y devuelva la suma de todos los números pares
22+
23+
// 8. Crea una función que reciba un array de números y devuelva un nuevo array con cada número elevado al cuadrado
24+
25+
// 9. Crea una función que reciba una cadena de texto y devuelva la misma cadena con las palabras en orden inverso
26+
27+
// 10. Crea una función que calcule el factorial de un número dado

README.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
1212
## Próxima clase
1313

14-
### Miércoles 31 de julio a las 20:00h (España) en directo desde [Twitch](https://twitch.tv/mouredev)
15-
#### Puedes crear un recordatorio y consultar el horario en tu país desde [Discord](https://discord.gg/mouredev?event=1265768501356794037)
14+
### Miércoles 7 de agosto a las 20:00h (España) en directo desde [Twitch](https://twitch.tv/mouredev)
15+
#### Puedes crear un recordatorio y consultar el horario en tu país desde [Discord](https://discord.gg/ZZ98qNuV?event=1268298731183411200)
1616

1717
## Clases en vídeo
1818

@@ -43,6 +43,17 @@ Código:
4343
* [10 - Array](./Basic/10-array.js)
4444
* [11 - Set](./Basic/11-set.js)
4545

46+
#### [CLASE 4 | 31/07/2024 | Mapas, bucles y funciones](https://www.twitch.tv/videos/2212289583?t=00h17m45s)
47+
48+
Código:
49+
50+
* [12 - Map](./Basic/12-map.js)
51+
* [13 - Ejercicios: Estructuras](./Basic/13-structures-exercises.js)
52+
* [14 - Bucles](./Basic/14-loops.js)
53+
* [15 - Ejercicios: Bucles](./Basic/15-loops-exercises.js)
54+
* [16 - Funciones](./Basic/16-functions.js)
55+
* [17 - Ejercicios: Funciones](./Basic/17-functions-exercises.js)
56+
4657
## Enlaces de interés
4758

4859
* Impacto: [Stack Overflow](https://survey.stackoverflow.co/2023/#most-popular-technologies-language) | [GitHub](https://github.blog/2023-11-08-the-state-of-open-source-and-ai/) | [Índice TIOBE](https://www.tiobe.com/tiobe-index/) | [Google Trends](https://trends.google.es/trends/explore?cat=5&date=today%205-y&q=%2Fm%2F02p97,%2Fm%2F05z1_,%2Fm%2F07sbkfb&hl=es)

0 commit comments

Comments
 (0)