diff --git a/ejercicios.js b/ejercicios.js index c12f2d1..93e3c5e 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -8,7 +8,18 @@ console.log("Archivo vinculado correctamente."); luego `map` para elevarlos al cuadrado. */ const numeros = [1, 2, 3, 4, 5, 6, 7, 8]; -// Resultado esperado: [4, 16, 36, 64] + +function esPar(numero) { + return numero % 2 === 0; +} + +const pares = numeros.filter(esPar); + +const cuadrados = pares.map(function(numero) { + return numero * numero; +}); + +console.log(cuadrados); //Ejercicio 1 @@ -26,6 +37,16 @@ const productos = [ ]; // Resultado esperado: ["Teclado", "Mouse"] // Pista: se puede resolver encadenando `filter` y `map`. +const productosDebajoDeMil = productos.filter(function(producto) { + return producto.precio < 1000; +}); + +const nombresProductosDebajoDeMil = productosDebajoDeMil.map(function(producto) { + return producto.nombre; +}); + +console.log(nombresProductosDebajoDeMil); //Ejercicio 2 + @@ -36,6 +57,15 @@ 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)); //Ejercicio 3 + + /* 4. Dado el siguiente array de estudiantes, calcular el promedio general de notas @@ -50,6 +80,14 @@ const estudiantes = [ ]; // Resultado esperado: 78.75 +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); //Ejercicio 4 + /* 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. @@ -61,6 +99,13 @@ const usuarios = [ ]; // Buscar "Luis" → mostrar sus datos // Buscar "Pedro" → mostrar "Usuario no encontrado" +const usuarioLuis = usuarios.find(usuario => usuario.nombre === "Luis"); +if (usuarioLuis) { + console.log(usuarioLuis); +} else { + console.log("Usuario no encontrado"); +} //Ejercicio 5 + /* 6. Dado el siguiente array, construir un nuevo array que contenga solo las @@ -69,9 +114,11 @@ const usuarios = [ const palabras = ["sol", "tormenta", "mar", "lluvia", "río", "arcoíris"]; // Resultado esperado: ["TORMENTA", "LLUVIA", "ARCOÍRIS"] +const palabrasEnMayusculas = palabras.filter(palabra => palabra.length > 4) + .map(palabra => palabra.toUpperCase()); +console.log(palabrasEnMayusculas); //Ejercicio 6 + -// Pistas: `palabra.length` da la cantidad de letras. `palabra.toUpperCase()` -// convierte a mayúsculas. /* 7. Escribir una función `agrupar` que reciba un array de objetos con la forma @@ -85,6 +132,25 @@ const resultados = [ { nombre: "Carlos", aprobado: false } ]; + +function agrupar(resultados) { +const resultAprobados = resultados.filter(resultado => resultado.aprobado === true); +const resultDesaprobados = resultados.filter(resultado => resultado.aprobado === false); + +const aprobados = resultAprobados.map(resultado => resultado.nombre); +const desaprobados = resultDesaprobados.map(resultado => resultado.nombre); + +return{ + aprobados, + desaprobados + } +} + +console.log(agrupar(resultados)); + //Ejercicio 7 + + + // Resultado esperado: // { // aprobados: ["Ana", "Marta"], diff --git a/index.html b/index.html index b44ebd0..25a4484 100644 --- a/index.html +++ b/index.html @@ -10,6 +10,8 @@

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

+ +