diff --git a/ejercicios.js b/ejercicios.js index c12f2d1..6688a77 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -7,7 +7,9 @@ console.log("Archivo vinculado correctamente."); 1. Dado el siguiente array, usar `filter` para obtener solo los números pares, y luego `map` para elevarlos al cuadrado. */ -const numeros = [1, 2, 3, 4, 5, 6, 7, 8]; +let numeros = [1, 2, 3, 4, 5, 6, 7, 8]; +const ParesAlCuadrado = numeros.filter(num => num % 2 === 0).map(num => num ** 2); +console.log(ParesAlCuadrado); // Resultado esperado: [4, 16, 36, 64] @@ -19,11 +21,13 @@ const numeros = [1, 2, 3, 4, 5, 6, 7, 8]; */ const productos = [ - { nombre: "Teclado", precio: 800 }, - { nombre: "Monitor", precio: 3500 }, - { nombre: "Mouse", precio: 600 }, - { nombre: "Auriculares", precio: 1200 } + { nombre: "Teclado", precio: 800 }, + { nombre: "Monitor", precio: 3500 }, + { nombre: "Mouse", precio: 600 }, + { nombre: "Auriculares", precio: 1200 } ]; +const ProductosMenosDeMil = productos.filter(productos => productos.precio < 1000).map(productos => productos.nombre); +console.log(ProductosMenosDeMil); // Resultado esperado: ["Teclado", "Mouse"] // Pista: se puede resolver encadenando `filter` y `map`. @@ -35,19 +39,29 @@ const productos = [ `"Ana tiene 25 años y vive en Rosario."` Usar destructuring en los 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 usando `map` para extraer las notas y luego un loop para sumarlas. */ const estudiantes = [ - { nombre: "Ana", nota: 88 }, - { nombre: "Luis", nota: 72 }, - { nombre: "Marta", nota: 95 }, - { nombre: "Carlos", nota: 60 } + { nombre: "Ana", nota: 88 }, + { nombre: "Luis", nota: 72 }, + { nombre: "Marta", nota: 95 }, + { nombre: "Carlos", nota: 60 } ]; +const notas = estudiantes.map(estudiante => estudiante.nota); +let SumaNotas = 0; +for (let i = 0; i < notas.length; i++) { + SumaNotas = SumaNotas + notas[i]; +} +const Promedio = SumaNotas / notas.length; +console.log(Promedio); // Resultado esperado: 78.75 /* @@ -55,10 +69,21 @@ const estudiantes = [ en consola un mensaje diferente según si se encontró o no. */ const usuarios = [ - { nombre: "Ana", activa: true }, - { nombre: "Luis", activa: false }, - { nombre: "Marta", activa: true } + { nombre: "Ana", activa: true }, + { nombre: "Luis", activa: false }, + { nombre: "Marta", activa: true } ]; + +function BuscarUsuario(nombre) { + const UsuarioEncontrado = usuarios.find(usuario => usuario.nombre === nombre); + if (UsuarioEncontrado) { + console.log(UsuarioEncontrado); + } else { + console.log("Usuario no encontrado"); + } +} +BuscarUsuario("Luis"); +BuscarUsuario("Pedro"); // Buscar "Luis" → mostrar sus datos // Buscar "Pedro" → mostrar "Usuario no encontrado" @@ -68,6 +93,8 @@ const usuarios = [ */ const palabras = ["sol", "tormenta", "mar", "lluvia", "río", "arcoíris"]; +const PalabrasEnMayuscula = palabras.filter(palabra => palabra.length > 4) .map(palabra => palabra.toUpperCase()); +console.log(PalabrasEnMayuscula); // Resultado esperado: ["TORMENTA", "LLUVIA", "ARCOÍRIS"] // Pistas: `palabra.length` da la cantidad de letras. `palabra.toUpperCase()` @@ -79,12 +106,24 @@ const palabras = ["sol", "tormenta", "mar", "lluvia", "río", "arcoíris"]; y `desaprobados`, cada una con un array de nombres. */ const resultados = [ - { nombre: "Ana", aprobado: true }, - { nombre: "Luis", aprobado: false }, - { nombre: "Marta", aprobado: true }, - { nombre: "Carlos", aprobado: false } + { nombre: "Ana", aprobado: true }, + { nombre: "Luis", aprobado: false }, + { nombre: "Marta", aprobado: true }, + { nombre: "Carlos", aprobado: false } ]; +function Agrupar(resultados) { + const agrupados = { aprobados: [], desaprobados: []}; + for (let i = 0; i < resultados.length; i++) { + if (resultados[i].aprobado) { + agrupados.aprobados.push(resultados[i].nombre); + } else { + agrupados.desaprobados.push(resultados[i].nombre); + } + } + return agrupados; +} +console.log(Agrupar(resultados)); // Resultado esperado: // { // aprobados: ["Ana", "Marta"], @@ -95,8 +134,14 @@ const 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, retorne la suma de ambos. +*/ +function crearSumador(base) { + return function(num) { + return base + num; + } +} const sumarDiez = crearSumador(10); console.log(sumarDiez(5)); // 15 console.log(sumarDiez(20)); // 30 -*/ + diff --git a/index.html b/index.html index b44ebd0..a148a27 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,6 @@

Ejercicios en javascript - clase 7

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

- - +