diff --git a/ejercicios.js b/ejercicios.js index c12f2d1..7464aa0 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -10,7 +10,13 @@ console.log("Archivo vinculado correctamente."); const numeros = [1, 2, 3, 4, 5, 6, 7, 8]; // Resultado esperado: [4, 16, 36, 64] +// filter retorna un nuevo array con todos los elementos para los cuales la función retorna true. +const pares = numeros.filter(numero => numero % 2 === 0); + +const cuadrados = pares.map(numero => numero ** 2); + +console.log(cuadrados); /* @@ -27,6 +33,10 @@ const productos = [ // Resultado esperado: ["Teclado", "Mouse"] // Pista: se puede resolver encadenando `filter` y `map`. +const productosBarato = productos.filter(productos => productos.precio < 1000).map(productos => productos.nombre); + +console.log(productosBarato); + /* @@ -36,6 +46,20 @@ const productos = [ parámetros de la función. */ +function describir({ nombre, edad, ciudad }) { + + return `${nombre} tiene ${edad} años y vive en ${ciudad}` +} + +const persona = { + nombre: "Ana", + edad: 25, + ciudad: "Rosario" +}; + +console.log(describir(persona)) + + /* 4. Dado el siguiente array de estudiantes, calcular el promedio general de notas @@ -50,6 +74,20 @@ const estudiantes = [ ]; // Resultado esperado: 78.75 +const notas = estudiantes.map(estudiantes => estudiantes.nota); + +let suma = 0; + +for (let i = 0; i < notas.length; i++) { + + 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 +100,16 @@ const usuarios = [ // Buscar "Luis" → mostrar sus datos // Buscar "Pedro" → mostrar "Usuario no encontrado" +const buscar = usuarios.find(usuarios => usuarios.nombre === "Marta"); + +if (buscar) { + console.log(buscar); + +} 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 +121,11 @@ const palabras = ["sol", "tormenta", "mar", "lluvia", "río", "arcoíris"]; // Pistas: `palabra.length` da la cantidad de letras. `palabra.toUpperCase()` // convierte a mayúsculas. +const palabrasLargas = palabras.filter(palabra => palabra.length > 4).map(palabra => palabra.toLocaleUpperCase()); + +console.log(palabrasLargas); + + /* 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 +144,35 @@ const resultados = [ // desaprobados: ["Luis", "Carlos"] // } +function agrupar(resultados) { + + const grupos = { + aprobados: [], + desaprobados: [], + }; + + for (let i = 0; i < resultados.length; i++ ) { + + const estudiante = resultados[i]; + + if (estudiante.aprobado) { + + grupos.aprobados.push(estudiante.nombre); + + } else { + + grupos.desaprobados.push(estudiante.nombre); + + } + + } + + return grupos; + +} + +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.

- +