diff --git a/ejercicios.js b/ejercicios.js index c12f2d1..d8a3136 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -9,6 +9,10 @@ console.log("Archivo vinculado correctamente."); */ const numeros = [1, 2, 3, 4, 5, 6, 7, 8]; // Resultado esperado: [4, 16, 36, 64] +let pares_cuadrado = numeros.filter(n=> (n % 2) === 0).map(n=> n**2); + + +console.log(pares_cuadrado); @@ -27,7 +31,8 @@ const productos = [ // Resultado esperado: ["Teclado", "Mouse"] // Pista: se puede resolver encadenando `filter` y `map`. - +let barato = productos.filter(producto => producto.precio<1000).map(produ => produ.nombre ); +console.log(barato); /* 3. Escribir una función `describir` que reciba un objeto persona con las @@ -35,7 +40,14 @@ const productos = [ `"Ana tiene 25 años y vive en Rosario."` Usar destructuring en los parámetros de la función. */ +let persona = {nombre:"luis", edad: 38, ciudad: "rosario"} +function describir(persona){ + let {nombre, edad, ciudad} = persona; + console.log(`"${nombre} tiene ${edad} y vive en ${ciudad}"`); +} + +describir(persona); /* 4. Dado el siguiente array de estudiantes, calcular el promedio general de notas @@ -50,6 +62,13 @@ const estudiantes = [ ]; // Resultado esperado: 78.75 +let sumatoria_notas = 0 +let lista_notas = estudiantes.map(n => n.nota); //creamos la lista solo con las notas de los alumnos +for(let nota of lista_notas){ //sumamos todas las notas en la variable sumatoria_notas + sumatoria_notas += nota +}; +console.log(sumatoria_notas/estudiantes.length); //dividimos la sumatoria por la cantidad de alumnos del array + /* 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 +81,15 @@ const usuarios = [ // Buscar "Luis" → mostrar sus datos // Buscar "Pedro" → mostrar "Usuario no encontrado" +let usuarioBuscado = "Luis"; //supongamos que buscamos al usuario Luis +let usuarioEncontrado = usuarios.find(n => n.nombre === usuarioBuscado); //usamos find y comparamos el usuario.nombre con el usuarioBuscado +if(usuarioEncontrado){ + console.log(usuarioEncontrado); //si la busqueda coincide devolvemos la variable con el objeto buscado +} else { + console.log("Usuario no encontrado") //si usuarioEncontrado es false devolvemos un mensaje de user 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 +101,9 @@ const palabras = ["sol", "tormenta", "mar", "lluvia", "río", "arcoíris"]; // Pistas: `palabra.length` da la cantidad de letras. `palabra.toUpperCase()` // convierte a mayúsculas. +let palabrasLargasEnMayusculas = palabras.filter(n => n.length > 4).map(n => n = n.toUpperCase()) //con filter selecionamos las palabras "largas" y con map las trasnformamos en mayusculas +console.log(palabrasLargasEnMayusculas) + /* 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 +122,17 @@ const resultados = [ // desaprobados: ["Luis", "Carlos"] // } +let objeto_Aprobados_Desaprobados = {} //objeto vacio + +function agrupar (arrayObjetos){ //creamos la funcion que va a recibir como parametro la lista de objetos "resultados" + let nombreAprobados = arrayObjetos.filter(n=> n.aprobado === true).map(n => n.nombre); //guardamos en una variable los nombres de los aprobados + let nombreDesaprobados = arrayObjetos.filter(n=> n.aprobado === false).map(n => n.nombre); //lo mismo con los desaprobados + objeto_Aprobados_Desaprobados.aprobados = nombreAprobados; //agregamos la propiedad "aprobados" y la llenamos con los nombres de los aprobados + objeto_Aprobados_Desaprobados.desaprobados = nombreDesaprobados; //lo mismo con los desaprobados + return objeto_Aprobados_Desaprobados; // devolvemos el objeto cargado con las nuevas propiedades +}; +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.

- +