From 9e0bb3edbcde8c488eb771bed6e7d8bc5da47ea4 Mon Sep 17 00:00:00 2001 From: LuisGH18 Date: Wed, 4 Dec 2024 14:58:39 -0500 Subject: [PATCH 01/10] =?UTF-8?q?03-beginner-exercises=20completed?= =?UTF-8?q?=E2=9C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Basic/03-beginner-exercises.js | 54 +++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/Basic/03-beginner-exercises.js b/Basic/03-beginner-exercises.js index 2e7dd657..987aad2c 100644 --- a/Basic/03-beginner-exercises.js +++ b/Basic/03-beginner-exercises.js @@ -4,21 +4,73 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=4733 */ // 1. Escribe un comentario en una línea +// comentario de una linea✅ // 2. Escribe un comentario en varias líneas +/* Esto es +comentario de +varias lineas✅ +*/ // 3. Declara variables con valores asociados a todos los datos de tipo primitivos +var nombre = "Luis" +var edad = 20 +var isStudent = true +var undefinedValue +var sinvalor = null +//✅ // 4. Imprime por consola el valor de todas las variables +console.log(nombre) +console.log(edad) +console.log(isStudent) +console.log(undefinedValue) +console.log(sinvalor) +//✅ // 5. Imprime por consola el tipo de todas las variables +console.log(typeof(nombre)) +console.log(typeof(edad)) +console.log(typeof(isStudent)) +console.log(typeof(undefinedValue)) +console.log(typeof(sinvalor)) +//✅ // 6. A continuación, modifica los valores de las variables por otros del mismo tipo +nombre = "Gerardo" +edad = 21 +isStudent = false +//✅ +console.log(nombre) +console.log(edad) +console.log(isStudent) // 7. A continuación, modifica los valores de las variables por otros de distinto tipo +nombre = 20 +edad = "Luis" +isStudent = 1 +//✅ +console.log(typeof(nombre)) +console.log(typeof(edad)) +console.log(typeof(isStudent)) // 8. Declara constantes con valores asociados a todos los tipos de datos primitivos +const name = "Luis" +const year = 20 +const isTeacher = true +//const undefinedValue +const nullValue = null +//✅ +console.log(name) +console.log(year) +console.log(isTeacher) +console.log(nullValue) // 9. A continuación, modifica los valores de las constantes +//const name = "Gerardo" +//const year = 21 +//const isTeacher = false +//✅ -// 10. Comenta las líneas que produzcan algún tipo de error al ejecutarse \ No newline at end of file +// 10. Comenta las líneas que produzcan algún tipo de error al ejecutarse +//✅ \ No newline at end of file From 4ef002cf783fe6368e69cbd2a5d767604a29976a Mon Sep 17 00:00:00 2001 From: LuisGH18 Date: Sun, 8 Dec 2024 23:43:34 -0500 Subject: [PATCH 02/10] fix: exercises 03 beginner --- Basic/03-beginner-exercises.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Basic/03-beginner-exercises.js b/Basic/03-beginner-exercises.js index 987aad2c..9c14aa49 100644 --- a/Basic/03-beginner-exercises.js +++ b/Basic/03-beginner-exercises.js @@ -13,11 +13,11 @@ varias lineas✅ */ // 3. Declara variables con valores asociados a todos los datos de tipo primitivos -var nombre = "Luis" -var edad = 20 -var isStudent = true -var undefinedValue -var sinvalor = null +let nombre = "Luis" +let edad = 20 +let isStudent = true +let undefinedValue +let sinvalor = null //✅ // 4. Imprime por consola el valor de todas las variables @@ -73,4 +73,5 @@ console.log(nullValue) //✅ // 10. Comenta las líneas que produzcan algún tipo de error al ejecutarse +//Comente el ejercicio9 ya que no se pueden modificar los valores de un const //✅ \ No newline at end of file From 5c8e0f9843fc023f392355ba500021e235679ee1 Mon Sep 17 00:00:00 2001 From: LuisGH18 Date: Mon, 9 Dec 2024 00:31:11 -0500 Subject: [PATCH 03/10] 05-operators resolved --- Basic/05-operators-exercises.js | 42 +++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/Basic/05-operators-exercises.js b/Basic/05-operators-exercises.js index a6265eac..dacc9b35 100644 --- a/Basic/05-operators-exercises.js +++ b/Basic/05-operators-exercises.js @@ -4,22 +4,60 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=6458 */ // 1. Crea una variable para cada operación aritmética +let sum = 5 + 10 +let resta = 5 - 10 +let mult = 5 * 10 +let div = 5 / 10 +let modulo = 5 % 10 //para saber el residuo de la operacion +let exponente = 5 ** 10 +sum++ //incremento +sum-- //decremento +console.log(sum) // 2. Crea una variable para cada tipo de operación de asignación, // que haga uso de las variables utilizadas para las operaciones aritméticas +let newVariable = 2 +newVariable += sum +newVariable -= resta +newVariable *= mult +newVariable /= div +newVariable %= modulo +newVariable **= exponente // 3. Imprime 5 comparaciones verdaderas con diferentes operadores de comparación +let a = 2 +let b = 20 +console.log(a != b) +console.log(a == 2) +console.log(b >= 19) +console.log(a <= b) +console.log(a === 2) // 4. Imprime 5 comparaciones falsas con diferentes operadores de comparación +console.log(a === "2") +console.log(a != 2) +console.log(a >= 3) +console.log(b <= 10) +console.log(a == true) // 5. Utiliza el operador lógico and +console.log(b >= 10 && b <= 20) // 6. Utiliza el operador lógico or +console.log(a === "2" || a == 2) // 7. Combina ambos operadores lógicos +console.log(b >= 10 && b <= 25 || a === "2") // 8. Añade alguna negación +console.log(!(a= d || !(c == 8)) \ No newline at end of file From 59f80fd543c697ff794e91baf3662ede8b825346 Mon Sep 17 00:00:00 2001 From: LuisGH18 Date: Mon, 9 Dec 2024 12:40:05 -0500 Subject: [PATCH 04/10] 07-strings resolved --- Basic/07-strings-exercises.js | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/Basic/07-strings-exercises.js b/Basic/07-strings-exercises.js index c08f0166..842b7db3 100644 --- a/Basic/07-strings-exercises.js +++ b/Basic/07-strings-exercises.js @@ -4,21 +4,42 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=7226 */ // 1. Concatena dos cadenas de texto +let cadena1 = "Concatenando" +let cadena2 = " cadenas de texto" +console.log(cadena1+cadena2) // 2. Muestra la longitud de una cadena de texto +console.log(cadena1.length) // 3. Muestra el primer y último carácter de un string +console.log(cadena1[0]) +console.log(cadena1[11]) // 4. Convierte a mayúsculas y minúsculas un string +console.log(cadena1.toUpperCase()) +console.log(cadena1.toLowerCase()) // 5. Crea una cadena de texto en varias líneas +let cadena3 = `Esto es +una cadena de +texto de +varias lineas` +console.log(cadena3) // 6. Interpola el valor de una variable en un string +let name = "Luis" +let last_name = "Guanilo" +console.log(`Mi nombre es ${name} y mi apellido es ${last_name}.`) // 7. Reemplaza todos los espacios en blanco de un string por guiones +let guiones = "Los espacios en blanco seran reemplazados" +console.log(guiones.replaceAll(" ","--")) // 8. Comprueba si una cadena de texto contiene una palabra concreta +console.log(guiones.includes("espacios")) // 9. Comprueba si dos strings son iguales +console.log(last_name == name) -// 10. Comprueba si dos strings tienen la misma longitud \ No newline at end of file +// 10. Comprueba si dos strings tienen la misma longitud +console.log(last_name.length == name.length) From 16cb259b2e76cb9f1b90b391a5d2a2273e251f18 Mon Sep 17 00:00:00 2001 From: LuisGH18 Date: Mon, 9 Dec 2024 20:00:44 -0500 Subject: [PATCH 05/10] 09-conditionals resolved --- Basic/09-conditionals-exercises.js | 113 ++++++++++++++++++++++++++++- 1 file changed, 112 insertions(+), 1 deletion(-) diff --git a/Basic/09-conditionals-exercises.js b/Basic/09-conditionals-exercises.js index 380e6542..1596dbd2 100644 --- a/Basic/09-conditionals-exercises.js +++ b/Basic/09-conditionals-exercises.js @@ -6,24 +6,135 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=8652 // if/else/else if/ternaria // 1. Imprime por consola tu nombre si una variable toma su valor +let name = "Luis" +if (name == "Luis") { + console.log(name) +} // 2. Imprime por consola un mensaje si el usuario y contraseña concide con unos establecidos +let user = "lguan" +let password = "Luis123" + +if (user == "lguan" && password == "Luis123") { + console.log("Bienvenido! :D") +}else{ + console.log("Usuario o contraseña incorrecto. Intente nuevamente!") +} + // 3. Verifica si un número es positivo, negativo o cero e imprime un mensaje +let number = 12 + +if (number < 0) { + console.log("Tu numero es negativo") +} else if(number > 0){ + console.log("Tu numero es positivo") +} else{ + console.log("Tu numero es 0") +} // 4. Verifica si una persona puede votar o no (mayor o igual a 18) e indica cuántos años le faltan +let edad = 13 +let anios_faltantes + +if (edad >= 18) { + console.log("Puede votar. Tiene edad suficiente.") +} else{ + anios_faltantes = 18 - edad + console.log(`No puede votar. Le falta ${anios_faltantes} años para ser mayor de edad.`) +} // 5. Usa el operador ternario para asignar el valor "adulto" o "menor" a una variable // dependiendo de la edad +let op_ternario = edad >= 18 ? "adulto" : "menor" +console.log(op_ternario) // 6. Muestra en que estación del año nos encontramos dependiendo del valor de una variable "mes" +let mes = "diciembre" +let estación + +if (mes == "enero" || mes == "febrero" || mes == "marzo"){ + estación = "Invierno" +}else if (mes == "abril" || mes == "mayo" || mes == "junio"){ + estación = "Primavera" +}else if (mes == "julio" || mes == "agosto" || mes == "septiembre"){ + estación = "Verano" +}else if (mes == "octubre" || mes == "noviembre" || mes == "diciembre"){ + estación = "Otoño" +}else{ + estación = "Estacion inexistente." +} +console.log(`Es ${mes}, estamos en ${estación}`) // 7. Muestra el número de días que tiene un mes dependiendo de la variable del ejercicio anterior +let dias + +if (mes == "enero" || mes == "marzo" || mes == "mayo" || mes == "julio" || mes == "agosto" || + mes == "octubre" || mes == "diciembre") { + dias = 31 +}else if (mes == "abril" || mes == "junio" || mes == "septiembre" || mes == "noviembre"){ + dias = 30 +}else if (mes == "febrero"){ + dias = 28 +}else{ + dias = 0 +} + +console.log(`El mes de ${mes} tiene ${dias} dias.`) + // switch // 8. Usa un switch para imprimir un mensaje de saludo diferente dependiendo del idioma +let idioma = "frances" +let saludo + +switch(idioma){ + case "español" : + saludo = "Hola!" + break + case "ingles" : + saludo = "Hello!" + break + case "frances" : + saludo = "Bonjour!" + break + default: + saludo = "Idioma no registrado." +} +console.log(saludo) // 9. Usa un switch para hacer de nuevo el ejercicio 6 +switch(mes){ + case "enero","febrero", "marzo" : + estación = "Invierno" + break + case "abril", "mayo", "junio" : + estación = "Primavera" + break + case "julio", "agosto", "septiembre" : + estación = "Verano" + break + case "octubre", "noviembre", "diciembre" : + estación = "Otoño" + break + default : + estación = "Estación inexistente" +} +console.log(`Es ${mes}, estamos en ${estación} (switch)`) -// 10. Usa un switch para hacer de nuevo el ejercicio 7 \ No newline at end of file +// 10. Usa un switch para hacer de nuevo el ejercicio 7 +switch(mes){ + case "enero","marzo","mayo","julio","agosto","octubre","diciembre": + dias = 31 + break + case "abril","junio","septiembre","noviembre": + dias = 30 + break + case "febrero": + dias = 28 + break + default: + dias= 0 +} +console.log(`El mes de ${mes} tiene ${dias} dias. (switch)`) From 4c1c2582ddab615f375b2cde63d1fff490fc5451 Mon Sep 17 00:00:00 2001 From: LuisGH18 Date: Mon, 9 Dec 2024 22:14:45 -0500 Subject: [PATCH 06/10] 13-structures resolved --- Basic/13-structures-exercises.js | 43 +++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/Basic/13-structures-exercises.js b/Basic/13-structures-exercises.js index 1b094502..291689e3 100644 --- a/Basic/13-structures-exercises.js +++ b/Basic/13-structures-exercises.js @@ -4,21 +4,62 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=11451 */ // 1. Crea un array que almacene cinco animales +let myArray = ["gato","perro","conejo","tortuga","loro"] +console.log(myArray) // 2. Añade dos más. Uno al principio y otro al final +myArray.unshift("mono") +myArray.push("gallina") +console.log(myArray) // 3. Elimina el que se encuentra en tercera posición +myArray.splice(2,1) +console.log(myArray) // 4. Crea un set que almacene cinco libros +let mySet = new Set(["La Odisea","El principito","Don Quijote","Frankenstein","El Alquimista",]) +console.log(mySet) // 5. Añade dos más. Uno de ellos repetido +mySet.add("Cien años de soledad") +mySet.add("Don Quijote") +console.log(mySet) // 6. Elimina uno concreto a tu elección +mySet.delete("Frankenstein") +console.log(mySet) // 7. Crea un mapa que asocie el número del mes a su nombre +let myMap = new Map( + [ + [1 , "Enero"], + [2 , "Febrero"], + [3 , "Marzo"], + [4 , "Abril"], + [5 , "Mayo"], + [6 , "Junio"], + [7 , "Julio"], + [8 , "Agosto"], + [9 , "Septiembre"], + [10 , "Octubre"], + [11 , "Noviembre"], + [12 , "Diciembre"] + ] +) +console.log(myMap) // 8. Comprueba si el mes número 5 existe en el map e imprime su valor +console.log(myMap.keys()) +console.log(myMap.get(5)) // 9. Añade al mapa una clave con un array que almacene los meses de verano +let myArray2 = new Array("julio", "agosto", "septiembre") +myMap.set("meses_verano", myArray2) +console.log(myMap) -// 10. Crea un Array, transfórmalo a un Set y almacénalo en un Map \ No newline at end of file +// 10. Crea un Array, transfórmalo a un Set y almacénalo en un Map +let myArray3 = new Array("Luis", "lguan") +myArray3 = new Set([20,myArray3,"Guanilo",2004]) +let myMap2 = new Map() +myMap2.set("datos",myArray3) +console.log(myMap2) From 5b1926037b19d37c4e74799b3495e579cfe50fa6 Mon Sep 17 00:00:00 2001 From: LuisGH18 Date: Wed, 11 Dec 2024 11:58:27 -0500 Subject: [PATCH 07/10] 15-loops resolved --- Basic/15-loops-exercises.js | 93 ++++++++++++++++++++++++++++++++++++- 1 file changed, 92 insertions(+), 1 deletion(-) diff --git a/Basic/15-loops-exercises.js b/Basic/15-loops-exercises.js index 2a27cdd0..38996ab5 100644 --- a/Basic/15-loops-exercises.js +++ b/Basic/15-loops-exercises.js @@ -6,21 +6,112 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=12732 // NOTA: Explora diferentes sintaxis de bucles para resolver los ejercicios // 1. Crea un bucle que imprima los números del 1 al 20 +for (let i=1; i <= 20; i++ ) { + console.log(i); +} +"--------------------------------" +let i=1; +while (i<=20) { + console.log(i); + i++; +} // 2. Crea un bucle que sume todos los números del 1 al 100 y muestre el resultado +let total +for (let sum=0, i=0; i<=100; i++) { + sum += i; + total = sum; +} +console.log(total); + +"----------------------------------------" +let total2; +let sum = 0; +i=0; +while(i<=100){ + sum += i++; + total2=sum; +} +console.log(total2); // 3. Crea un bucle que imprima todos los números pares entre 1 y 50 +for (let i=1; i<=50; i++) { + if (i%2==0) { + console.log(i); + } +} // 4. Dado un array de nombres, usa un bucle para imprimir cada nombre en la consola +let myArray = ["Luis","Gerardo","Darwin","Albert","Galileo"] +while (myArray.length>0) { + console.log(myArray.shift()); +} // 5. Escribe un bucle que cuente el número de vocales en una cadena de texto +let cadena = "contando vocales de esta cadena"; +let contadorVocales = 0; +let vocales = "aeiouAEIOU"; + +for (let i = 0; i < cadena.length; i++) { + if (vocales.includes(cadena[i])) { + contadorVocales++; + } +} +console.log(`El número de vocales en la cadena es: ${contadorVocales}`); + +//for of, me parece la opcion mas simple para este bucle +//let cadena = "contando vocales de esta cadena"; +//let contadorVocales = 0; +//let vocales = "aeiouAEIOU"; + +for (let caracter of cadena) { + if (vocales.includes(caracter)) { + contadorVocales++; + } +} +console.log(`El número de vocales en la cadena es: ${contadorVocales}`); // 6. Dado un array de números, usa un bucle para multiplicar todos los números y mostrar el producto +let myArray2 = [1, 2, 3, 4, 5]; +let producto = 1; + +for (let nums of myArray2) { + producto *= nums; +} +console.log(`El producto de los números es: ${producto}`); // 7. Escribe un bucle que imprima la tabla de multiplicar del 5 +let m=0; +do{ + console.log(`5*${m} => `+ 5*`${m}`); + m++ +}while(m <= 12) // 8. Usa un bucle para invertir una cadena de texto +let cadena1 = "Hola, se me entiende?"; +let cadenaInvertida = ""; + +for (let i = cadena1.length - 1; i >= 0; i--) { + cadenaInvertida += cadena1[i]; +} +console.log(`La cadena invertida es: "${cadenaInvertida}"`); // 9. Usa un bucle para generar los primeros 10 números de la secuencia de Fibonacci +let n = 10; +let fibonacci = [0, 1]; + +for (let i = 2; i < n; i++) { + let siguiente = fibonacci[i - 1] + fibonacci[i - 2]; + fibonacci.push(siguiente); +} +console.log(fibonacci); + -// 10. Dado un array de números, usa un bucle para crear un nuevo array que contenga solo los números mayores a 10 \ No newline at end of file +// 10. Dado un array de números, usa un bucle para crear un nuevo array que contenga solo los números mayores a 10 +let myArray3 = [1,2,3,10,11,15,20,30,50] +let newArray4 = [] +for(let value of myArray3){ + if(value > 10) { + newArray4.push(value); +}} +console.log(newArray4) From 99424e8e6b3860f88c568e5a721f738b62d95036 Mon Sep 17 00:00:00 2001 From: LuisGH18 Date: Fri, 13 Dec 2024 14:39:18 -0500 Subject: [PATCH 08/10] 17-functions resolved --- Basic/16-functions.js | 6 +- Basic/17-functions-exercises.js | 111 +++++++++++++++++++++++++++++++- 2 files changed, 113 insertions(+), 4 deletions(-) diff --git a/Basic/16-functions.js b/Basic/16-functions.js index e5d3dec5..32cfc166 100644 --- a/Basic/16-functions.js +++ b/Basic/16-functions.js @@ -96,11 +96,11 @@ applyFunc(myFunc4, "función de orden superior") // forEach -myArray = [1, 2, 3, 4] +let myArray = [1, 2, 3, 4] -mySet = new Set(["Brais", "Moure", "mouredev", 37, true, "braismoure@mouredev.com"]) +let mySet = new Set(["Brais", "Moure", "mouredev", 37, true, "braismoure@mouredev.com"]) -myMap = new Map([ +let myMap = new Map([ ["name", "Brais"], ["email", "braismoure@mouredev.com"], ["age", 37] diff --git a/Basic/17-functions-exercises.js b/Basic/17-functions-exercises.js index fb7eb4e5..0008169d 100644 --- a/Basic/17-functions-exercises.js +++ b/Basic/17-functions-exercises.js @@ -6,21 +6,130 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=14146 // NOTA: Explora diferentes sintaxis de funciones para resolver los ejercicios // 1. Crea una función que reciba dos números y devuelva su suma +let a = 6 +let b = 9 +function sum(a,b){ + console.log("La suma de la funcion es: ", a+b); +} +sum (a, b) //suma con variables definidas +sum(4,5) //defiendo valores para la funcion // 2. Crea una función que reciba un array de números y devuelva el mayor de ellos +let myArray = [1, 2, 3, 4]; + +function mayor(myArray) { + let maximo = myArray[0]; + for (let i = 1; i < myArray.length; i++) { + if (myArray[i] > maximo) { + maximo = myArray[i]; + } + } + console.log("El número mayor es:", maximo); +} +mayor(myArray); // 3. Crea una función que reciba un string y devuelva el número de vocales que contiene +let string1 = "cuantas vocales tiene"; +let string2 = "AaEeiIOouU"; +function contarVocales(string){ + let vocales = "aeiouAEIOU"; + let contador = 0 + for (let i = 0; i < string.length; i++) { + if (vocales.includes([string[i]])) { + contador++; + } + }console.log("Total de vocales: ",contador); +} +contarVocales(string1); +contarVocales(string2); // 4. Crea una función que reciba un array de strings y devuelva un nuevo array con las strings en mayúsculas +let array1 = ["hola", "hello", "bonjour"]; + +function arrayMayusc(array) { + let nuevoArray = []; + for (let i = 0; i < array.length; i++) { + nuevoArray.push(array[i].toUpperCase()); + } + console.log(nuevoArray); +} + +arrayMayusc(array1); // 5. Crea una función que reciba un número y devuelva true si es primo, y false en caso contrario +let num = 7; + +function numPrimo(num) { + if (num < 2) return false; // Los números menores que 2 no son primos + + for (let i = 2; i <= Math.sqrt(num); i++) { + if (num % i === 0) { + return false; + } + } + return true; +} +console.log(numPrimo(num)); // 6. Crea una función que reciba dos arrays y devuelva un nuevo array que contenga los elementos comunes entre ambos +let array2 = [1, 2, "abc", "xyz", 6, 8, false]; +let array3 = [2, "abc", 12, 15, false,"xyz"]; + +function datosComun(arrayA, arrayB) { + let nuevoArray = arrayB.filter(elemento => arrayA.includes(elemento)); + console.log(nuevoArray) +} +datosComun(array2, array3); // 7. Crea una función que reciba un array de números y devuelva la suma de todos los números pares +let arrayNum = [1, 2, 3, 4, 8]; + +function suma(array) { + let sumTotal = 0; + for (let i = 0; i < array.length; i++) { + if (array[i] % 2 === 0) { + sumTotal += array[i]; + } + } + console.log(sumTotal); +} +suma(arrayNum); // 8. Crea una función que reciba un array de números y devuelva un nuevo array con cada número elevado al cuadrado +let array = [1, 2, 3, 4, 5] + +function arrayElev(array) { + let nuevoArray = []; + for (let i = 0; i < array.length; i++) { + nuevoArray.push(array[i]**2) + } + console.log(nuevoArray); +} +arrayElev(array); // 9. Crea una función que reciba una cadena de texto y devuelva la misma cadena con las palabras en orden inverso +let cadena = "una nueva cadena"; + +function invertirPalabras(cadena) { + let palabras = cadena.split(" "); + let palabrasInvertidas = palabras.reverse(); + let cadenaInvertida = palabrasInvertidas.join(" "); + console.log(cadenaInvertida); +} +invertirPalabras(cadena); + +// 10. Crea una función que calcule el factorial de un número dado +let numF = 5; -// 10. Crea una función que calcule el factorial de un número dado \ No newline at end of file +function factorial(numF) { + let resultado = 1; + if (numF < 0) { + console.log("El factorial no está definido para números negativos."); + }else{ + for (let i = 1; i <= numF; i++) { + resultado *= i; + } + console.log(resultado); + } +} +factorial(numF); From 54142d1efe25d4c5fe6e52af80b9b06852857108 Mon Sep 17 00:00:00 2001 From: LuisGH18 Date: Sun, 15 Dec 2024 18:20:48 -0500 Subject: [PATCH 09/10] 19-objects resolved --- Basic/18-objects.js | 2 +- Basic/19-objects-exercises.js | 42 ++++++++++++++++++++++++++++++++++- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/Basic/18-objects.js b/Basic/18-objects.js index 4e71a6b2..ffd21160 100644 --- a/Basic/18-objects.js +++ b/Basic/18-objects.js @@ -69,7 +69,7 @@ let person3 = { name: "Programador", exp: 15, work: function () { - console.log(`La persona de ${this.age} años de experiencia trabaja.`) + console.log(`La persona de ${this.exp} años de experiencia trabaja.`) } } } diff --git a/Basic/19-objects-exercises.js b/Basic/19-objects-exercises.js index 5dbbd628..2b3cfea9 100644 --- a/Basic/19-objects-exercises.js +++ b/Basic/19-objects-exercises.js @@ -4,21 +4,61 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=15675 */ // 1. Crea un objeto con 3 propiedades +let person = { + name: "Luis", + age: 20, + country: "Peru", +} // 2. Accede y muestra su valor +console.log(person) +console.log(typeof person) // 3. Agrega una nueva propiedad +person.email = "luis@gmail.com" +console.log(person) // 4. Elimina una de las 3 primeras propiedades +delete person.country +console.log(person) // 5. Agrega una función e invócala +person.walk = function(){ + console.log("Luis caminando...") + } +person.walk() // 6. Itera las propiedades del objeto +for (let key in person) { + console.log(key+": "+ person[key]) +} // 7. Crea un objeto anidado +let person2 = { + name: "Luis", + age: 8, + walk: function(){ + console.log("Juanito caminando...") + }, + parents:{ + mother_name: "Noelia", + father_name: "Romario", + work: function(){ + console.log(`${this.mother_name} y ${this.father_name} estan trabajando.`) + } + } +} // 8. Accede y muestra el valor de las propiedades anidadas +console.log(person2.parents) +console.log(person2.parents.mother_name) +console.log(person2.parents.father_name) +person2.parents.work() // 9. Comprueba si los dos objetos creados son iguales +console.log(person == person2) //false +console.log(person === person2) //false -// 10. Comprueba si dos propiedades diferentes son iguales \ No newline at end of file +// 10. Comprueba si dos propiedades diferentes son iguales +console.log(person.name === person2.name) //true +console.log(person.name === person2.age) //false From e56611a878327b98025eaf7f0726198e3a491c4b Mon Sep 17 00:00:00 2001 From: LuisGH18 Date: Sun, 15 Dec 2024 23:43:10 -0500 Subject: [PATCH 10/10] 21-destructur-spread-ing resolved --- Basic/21-destructuring-spreading-exercises.js | 52 ++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/Basic/21-destructuring-spreading-exercises.js b/Basic/21-destructuring-spreading-exercises.js index feadceb3..80afeaa8 100644 --- a/Basic/21-destructuring-spreading-exercises.js +++ b/Basic/21-destructuring-spreading-exercises.js @@ -4,22 +4,72 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=16802 */ // 1. Usa desestructuración para extraer los dos primeros elementos de un array +let array1 = [1, 2, 3] +let [n1, n2, n3] = array1 +console.log(n1) +console.log(n2) // 2. Usa desestructuración en un array y asigna un valor predeterminado a una variable +let [n4=10, n5=10, n6=10, n7=10] = array1 +console.log(n4) +console.log(n5) +console.log(n6) +console.log(n7) // 3. Usa desestructuración para extraer dos propiedades de un objeto +let person = { + name: "Luis", + age: 20 +} + +let {name, age} = person +console.log(person.name) +console.log(person.age) // 4. Usa desestructuración para extraer dos propiedades de un objeto y asígnalas // a nuevas variables con nombres diferentes +let {name: nameNew, age: ageNew} = person +console.log(nameNew) +console.log(ageNew) // 5. Usa desestructuración para extraer dos propiedades de un objeto anidado +let person2 = { + name: "Luis", + age: 20, + address: { + country: "Peru", + city: "Trujillo", + } +} +let{address: {country:countryNew}, address:{city:city2}} = person2 +console.log(countryNew) +console.log(city2) // 6. Usa propagación para combinar dos arrays en uno nuevo +let array2 = [20, "Veinte"] +let myArray = [...array1, ...array2] +console.log(myArray) // 7. Usa propagación para crear una copia de un array +let arrayCopy = [...myArray] +console.log(arrayCopy) // 8. Usa propagación para combinar dos objetos en uno nuevo +let myObject = {...person, ...person2} +console.log(myObject) // 9. Usa propagación para crear una copia de un objeto +let objectCopy = {...myObject} +console.log(objectCopy) + +// 10. Combina desestructuración y propagación +let country = ["Peru", "Mexico"] +let [country1, country2, country3="España"] = country +console.log(country1) +console.log(country2) +console.log(country3) +let [c1=country1, c2=country2] = country +console.log(c1+" y "+c2) -// 10. Combina desestructuración y propagación \ No newline at end of file +let countryCopy = [...country] +console.log(countryCopy)