diff --git a/ejercicios.js b/ejercicios.js index c12f2d1..0f5da18 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -10,6 +10,12 @@ console.log("Archivo vinculado correctamente."); const numeros = [1, 2, 3, 4, 5, 6, 7, 8]; // Resultado esperado: [4, 16, 36, 64] +const pares = numeros.filter(n => n % 2 === 0); + +const cuadrados = pares.map(n => n * n); + +console.log(cuadrados); + @@ -27,6 +33,10 @@ const productos = [ // Resultado esperado: ["Teclado", "Mouse"] // Pista: se puede resolver encadenando `filter` y `map`. +const prodbaratos = productos.filter(produc => produc.precio < 1000).map(produc => produc.nombre); + +console.log(prodbaratos); + /* @@ -36,6 +46,14 @@ const productos = [ parámetros de la función. */ +const persona = { nombre: "Ana", edad: 25, ciudad: "Rosario"} + +function describir({nombre, edad, ciudad}) { + return `${nombre} tiene ${edad} años y vive en ${ciudad}.` +} + +console.log(describir(persona)); + /* 4. Dado el siguiente array de estudiantes, calcular el promedio general de notas @@ -50,6 +68,24 @@ const estudiantes = [ ]; // Resultado esperado: 78.75 +function estudiante(e) { + return e.nota; +} + +const notas = estudiantes.map(estudiante); + +let suma = 0; + +for (let i = 0; i < notas.length; i = (i+1)) { + suma = suma + notas[i]; +} + +const promedio = suma / notas.length; + +console.log(promedio); + + + /* 5. Usar `find` para buscar un usuario por nombre dentro de un array, y mostrar en consola un mensaje diferente según si se encontró o no. @@ -62,6 +98,30 @@ const usuarios = [ // Buscar "Luis" → mostrar sus datos // Buscar "Pedro" → mostrar "Usuario no encontrado" +function nombre1(n1) { + return n1.nombre === "Luis"; +} + +const busqueda1 = usuarios.find(nombre1) + +if (busqueda1) { + console.log(busqueda1); +} else { + console.log("Usuario no encontrado"); +} + +function nombre2(n2) { + return n2.nombre === "Pedro"; +} + +const busqueda2 = usuarios.find(nombre2); + +if (busqueda2) { + console.log(busqueda2); +} else { + console.log("Usuario no encontrado"); +} + /* 6. Dado el siguiente array, construir un nuevo array que contenga solo las palabras con más de 4 letras, convertidas a mayúsculas. @@ -73,6 +133,20 @@ const palabras = ["sol", "tormenta", "mar", "lluvia", "río", "arcoíris"]; // Pistas: `palabra.length` da la cantidad de letras. `palabra.toUpperCase()` // convierte a mayúsculas. +function arrayletras(palabra) { + return palabra.length > 4; +} + +const cantletras = palabras.filter(arrayletras); + +function arraymayusc(mayusculas) { + return mayusculas.toUpperCase(); +} + +const mayuscletras = cantletras.map(arraymayusc); + +console.log(mayuscletras); + /* 7. Escribir una función `agrupar` que reciba un array de objetos con la forma `{ nombre, aprobado }` y retorne un objeto con dos propiedades: `aprobados` @@ -91,6 +165,18 @@ const resultados = [ // desaprobados: ["Luis", "Carlos"] // } +const agrupar = resultados => ({ + aprobados: resultados + .filter(resultado => resultado.aprobado) + .map(resultado => resultado.nombre), + + desaprobados: resultados + .filter(resultado => !resultado.aprobado) + .map(resultado => resultado.nombre) +}); + +console.log(agrupar(resultados)); + /* 8. *(Opcional - closures)* Escribir una función `crearSumador` que reciba un número `base` y retorne una función que, al llamarla con otro número, diff --git a/index.html b/index.html index b44ebd0..e7cb935 100644 --- a/index.html +++ b/index.html @@ -10,6 +10,6 @@

Vincular el archivo ejercicios.js a este archivo. Luego, resolver ahí los ejercicios.

- +