diff --git a/ejercicios.js b/ejercicios.js index c12f2d1..ca2c0b2 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -8,6 +8,12 @@ console.log("Archivo vinculado correctamente."); luego `map` para elevarlos al cuadrado. */ const numeros = [1, 2, 3, 4, 5, 6, 7, 8]; + +const resultado = numeros + .filter(num => num % 2 === 0) + .map(num => num ** 2); + +console.log(resultado); // Resultado esperado: [4, 16, 36, 64] @@ -24,6 +30,12 @@ const productos = [ { nombre: "Mouse", precio: 600 }, { nombre: "Auriculares", precio: 1200 } ]; + +const barato = productos + .filter(producto => producto.precio < 1000) + .map(producto => producto.nombre); + +console.log(barato) // Resultado esperado: ["Teclado", "Mouse"] // Pista: se puede resolver encadenando `filter` y `map`. @@ -35,8 +47,13 @@ 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. @@ -48,19 +65,44 @@ const estudiantes = [ { nombre: "Marta", nota: 95 }, { nombre: "Carlos", nota: 60 } ]; +const notasSolo = estudiantes.map(e => e.nota); + +let sumaTotal = 0; +for (let i = 0; i < notasSolo.length; i++){ + sumaTotal = sumaTotal + notasSolo[i]; +} + +const promedio = sumaTotal/notasSolo.length; + +console.log("El promedio general es: "+ promedio); // Resultado esperado: 78.75 /* 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. */ -const usuarios = [ - { nombre: "Ana", activa: true }, - { nombre: "Luis", activa: false }, - { nombre: "Marta", activa: true } -]; -// Buscar "Luis" → mostrar sus datos -// Buscar "Pedro" → mostrar "Usuario no encontrado" + const usuarios = [ + { nombre: "Ana", activa: true }, + { nombre: "Luis", activa: false }, + { nombre: "Marta", activa: true } + ]; + // Buscar "Luis" → mostrar sus datos + // Buscar "Pedro" → mostrar "Usuario no encontrado" + + function buscarUsuario(nombreBuscado) { + const encontrado = usuarios.find(user => user.nombre === nombreBuscado); + + if (encontrado) { + console.log("Usuario encontrado:", encontrado); + } else { + console.log("Usuario no encontrado"); + } +} +buscarUsuario("Luis"); +buscarUsuario("Pedro"); + + + /* 6. Dado el siguiente array, construir un nuevo array que contenga solo las @@ -73,11 +115,36 @@ 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 separarPalabras(word){ + const palabraMayor = { + resultado : [], + }; + + + word.forEach(letra => { + if (letra.length > 5) { + palabraMayor.resultado.push(letra.toUpperCase()); + + } else { + console.log("La palabra no lleva mas de 4 letras"); + } + }); + + return palabraMayor; +} + + +const palabraTerminada = separarPalabras(palabras); +console.log(palabraTerminada.resultado); + + /* 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` y `desaprobados`, cada una con un array de nombres. */ + + const resultados = [ { nombre: "Ana", aprobado: true }, { nombre: "Luis", aprobado: false }, @@ -85,6 +152,25 @@ const resultados = [ { nombre: "Carlos", aprobado: false } ]; +function agrupar(alumno){ + const resultado = { + aprobado : [], + desaprobado : [] + }; + alumno.forEach(nota => { + if (nota.aprobado) { + resultado.aprobado.push(nota.nombre); + } else { + resultado.desaprobado.push(nota.nombre); + } + }); + +return resultado; + } + + const grupos = agrupar(resultados); + console.log(grupos); + // Resultado esperado: // { // aprobados: ["Ana", "Marta"],