diff --git a/ejercicios.js b/ejercicios.js index c12f2d1..758fdc4 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -10,8 +10,8 @@ console.log("Archivo vinculado correctamente."); const numeros = [1, 2, 3, 4, 5, 6, 7, 8]; // Resultado esperado: [4, 16, 36, 64] - - +const resultado = numeros.filter(n => n % 2 === 0).map(n => n * n); +console.log(resultado); /* 2. Dado el siguiente array de productos, obtener los nombres de todos los @@ -27,7 +27,8 @@ const productos = [ // Resultado esperado: ["Teclado", "Mouse"] // Pista: se puede resolver encadenando `filter` y `map`. - +const producto = productos.filter(u => u.precio <= 1000).map(u => u.nombre); +console.log(producto); /* 3. Escribir una función `describir` que reciba un objeto persona con las @@ -35,7 +36,11 @@ const productos = [ `"Ana tiene 25 años y vive en Rosario."` Usar destructuring en los parámetros de la función. */ +function describir({nombre, edad, ciudad}) { + return `${nombre} tiene ${edad} años y vive en ${ciudad}.`; +} +console.log(describir({nombre: "Ana", edad: 25, ciudad: "Rosario"})); /* 4. Dado el siguiente array de estudiantes, calcular el promedio general de notas @@ -50,6 +55,16 @@ const estudiantes = [ ]; // Resultado esperado: 78.75 +const notas = estudiantes.map(u => u.nota); +let suma = 0; + +for (let i = 0; i < notas.length; i++) { + 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 +77,14 @@ const usuarios = [ // Buscar "Luis" → mostrar sus datos // Buscar "Pedro" → mostrar "Usuario no encontrado" +const usuarioBuscado = usuarios.find(u => u.nombre === "Luis"); + +if (usuarioBuscado) { + console.log(usuarioBuscado); +} 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 +96,12 @@ 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 palabrasLargasMayuscula = palabras + .filter(palabra => palabra.length > 4) + .map(palabra => palabra.toUpperCase()); + +console.log(palabrasLargasMayuscula); + /* 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` @@ -85,6 +114,25 @@ const resultados = [ { nombre: "Carlos", aprobado: false } ]; +function separarAlumnos(datos) { + const clasificacion = { + aprobados: [], + desaprobados: [] + }; + + for (const estudiante of datos) { + if (estudiante.aprobado) { + clasificacion.aprobados.push(estudiante.nombre); + } else { + clasificacion.desaprobados.push(estudiante.nombre); + } + } + + return clasificacion; +} + +console.log(separarAlumnos(resultados)); + // Resultado esperado: // { // aprobados: ["Ana", "Marta"], 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.

- +