diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..29d0764 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "chrome", + "request": "launch", + "name": "Launch chrome against localhost", + "url": "http://localhost:8080", + "webRoot": "${workspaceFolder}" + } + ] +} \ No newline at end of file diff --git a/ejercicios.js b/ejercicios.js index c12f2d1..ab96a26 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -8,6 +8,14 @@ console.log("Archivo vinculado correctamente."); luego `map` para elevarlos al cuadrado. */ const numeros = [1, 2, 3, 4, 5, 6, 7, 8]; + +const numerosPares = numeros +.filter(n => n % 2 === 0) +.map(n => n * 2); +console.log(numerosPares) + +//const resultados=numeros.filter(n => n % 2 === 0).map(n => n * 2); + // Resultado esperado: [4, 16, 36, 64] @@ -24,6 +32,12 @@ const productos = [ { nombre: "Mouse", precio: 600 }, { nombre: "Auriculares", precio: 1200 } ]; + +const preciosBaratos = productos +.filter(electrodomestico => electrodomestico.precio < 1000) +.map(electrodomestico => electrodomestico.nombre); +console.log(preciosBaratos) + // Resultado esperado: ["Teclado", "Mouse"] // Pista: se puede resolver encadenando `filter` y `map`. @@ -36,6 +50,11 @@ const productos = [ parámetros de la función. */ +function describir({nombre, edad, ciudad}) { + console.log('${nombre}! tiene ${edad}! años y vive en ${ciudad}!'); + describir({nombre: "Ana", edad: 25, cuidad: "Rosario"}); +} +console.log(describir) /* 4. Dado el siguiente array de estudiantes, calcular el promedio general de notas @@ -48,19 +67,43 @@ const estudiantes = [ { nombre: "Marta", nota: 95 }, { nombre: "Carlos", nota: 60 } ]; + +const notas = estudiantes +.map(estudiante => estudiante.nota); +let sumaTotal = 0; +for (let i = 0; i < notas.length; i++) { + sumaTotal += notas[i]; +} +const promedioGeneral = sumaTotal / notas.length; +console.log("Notas:", notas); +console.log("Promedio general:", promedioGeneral); + // 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" + +//Buscar "Luis" → mostrar sus datos +//Buscar "Pedro" → mostrar "Usuario no encontrado" + +function buscarUsuario(Luis){ + const usuarioEncontrado=usuarios.find(u => u.nombre === Luis); + if (usuarioEncontrado){ + console.log("Datos del usuario:", usuarioEncontrado); + } else { + console.log("Usuario no encontrado"); + } +} +buscarUsuario("Luis"); +buscarUsuario("Pedro"); /* 6. Dado el siguiente array, construir un nuevo array que contenga solo las @@ -70,6 +113,11 @@ const usuarios = [ const palabras = ["sol", "tormenta", "mar", "lluvia", "río", "arcoíris"]; // Resultado esperado: ["TORMENTA", "LLUVIA", "ARCOÍRIS"] +const resultado = palabras + .filter(palabra => palabra.length > 4) + .map(palabra => palabra.toUpperCase()); +console.log(resultado); + // Pistas: `palabra.length` da la cantidad de letras. `palabra.toUpperCase()` // convierte a mayúsculas. @@ -85,6 +133,23 @@ const resultados = [ { nombre: "Carlos", aprobado: false } ]; +function agrupar(agruparUsuario) { + const usuariosGrupo = { + aprobados: [], + desaprobado: [] + }; + agruparUsuario.forEach(estudiante => { + if (estudiante.aprobado) { + usuariosGrupo.aprobados.push(estudiante.nombre); + } else { + usuariosGrupo.desaprobados.push(estudiante.nombre); + } + }); + return usuariosGrupo; +} +const resultadoFinal = agrupar(resultados); +console.log(resultadoFinal); + // Resultado esperado: // { // aprobados: ["Ana", "Marta"], diff --git a/index.html b/index.html index b44ebd0..0f79a77 100644 --- a/index.html +++ b/index.html @@ -12,4 +12,5 @@ +