From 68ba5a27ead98e93a8b33d5720a6f3a3244969ff Mon Sep 17 00:00:00 2001 From: Nery Benincasa <42608796@terciariourquiza.edu.ar> Date: Thu, 7 May 2026 22:39:41 -0300 Subject: [PATCH 1/9] agrego archivo js a index --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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.

- + -- 2.49.1 From c1b1290bacda5e1a40acad072b8a93a8c2eb4d98 Mon Sep 17 00:00:00 2001 From: Nery Benincasa <42608796@terciariourquiza.edu.ar> Date: Thu, 7 May 2026 22:47:30 -0300 Subject: [PATCH 2/9] Paso 1 --- ejercicios.js | 46 +++++++++++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/ejercicios.js b/ejercicios.js index c12f2d1..5b31bbc 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -10,7 +10,23 @@ console.log("Archivo vinculado correctamente."); const numeros = [1, 2, 3, 4, 5, 6, 7, 8]; // Resultado esperado: [4, 16, 36, 64] +//función para filtrar pares +function esPar(numero) { + return numero % 2 === 0; +} +//función para elevar al cuadrado +function alCuadrado(numero) { + return numero * numero; +} + +//filter +const pares = numeros.filter(esPar); + +//map +const resultado = pares.map(alCuadrado); + +console.log(resultado); /* @@ -19,10 +35,10 @@ const numeros = [1, 2, 3, 4, 5, 6, 7, 8]; */ const productos = [ - { nombre: "Teclado", precio: 800 }, - { nombre: "Monitor", precio: 3500 }, - { nombre: "Mouse", precio: 600 }, - { nombre: "Auriculares", precio: 1200 } + { nombre: "Teclado", precio: 800 }, + { nombre: "Monitor", precio: 3500 }, + { nombre: "Mouse", precio: 600 }, + { nombre: "Auriculares", precio: 1200 } ]; // Resultado esperado: ["Teclado", "Mouse"] // Pista: se puede resolver encadenando `filter` y `map`. @@ -43,10 +59,10 @@ const productos = [ */ const estudiantes = [ - { nombre: "Ana", nota: 88 }, - { nombre: "Luis", nota: 72 }, - { nombre: "Marta", nota: 95 }, - { nombre: "Carlos", nota: 60 } + { nombre: "Ana", nota: 88 }, + { nombre: "Luis", nota: 72 }, + { nombre: "Marta", nota: 95 }, + { nombre: "Carlos", nota: 60 } ]; // Resultado esperado: 78.75 @@ -55,9 +71,9 @@ const estudiantes = [ 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 } + { nombre: "Ana", activa: true }, + { nombre: "Luis", activa: false }, + { nombre: "Marta", activa: true } ]; // Buscar "Luis" → mostrar sus datos // Buscar "Pedro" → mostrar "Usuario no encontrado" @@ -79,10 +95,10 @@ const palabras = ["sol", "tormenta", "mar", "lluvia", "río", "arcoíris"]; y `desaprobados`, cada una con un array de nombres. */ const resultados = [ - { nombre: "Ana", aprobado: true }, - { nombre: "Luis", aprobado: false }, - { nombre: "Marta", aprobado: true }, - { nombre: "Carlos", aprobado: false } + { nombre: "Ana", aprobado: true }, + { nombre: "Luis", aprobado: false }, + { nombre: "Marta", aprobado: true }, + { nombre: "Carlos", aprobado: false } ]; // Resultado esperado: -- 2.49.1 From 731c8953a9d79837fdf0c0f2d03d91337155899b Mon Sep 17 00:00:00 2001 From: Nery Benincasa <42608796@terciariourquiza.edu.ar> Date: Thu, 7 May 2026 23:08:22 -0300 Subject: [PATCH 3/9] Paso 2 --- ejercicios.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ejercicios.js b/ejercicios.js index 5b31bbc..3b8835e 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -43,7 +43,15 @@ const productos = [ // Resultado esperado: ["Teclado", "Mouse"] // Pista: se puede resolver encadenando `filter` y `map`. +const nombresProductosBaratos = productos + .filter(function (producto) { + return producto.precio < 1000; + }) + .map(function (producto) { + return producto.nombre; + }); +console.log(nombresProductosBaratos); /* 3. Escribir una función `describir` que reciba un objeto persona con las -- 2.49.1 From 68495cc71e3f0b68d2f1a8bf24a30bb001400e4c Mon Sep 17 00:00:00 2001 From: Nery Benincasa <42608796@terciariourquiza.edu.ar> Date: Thu, 7 May 2026 23:11:40 -0300 Subject: [PATCH 4/9] paso 3 --- ejercicios.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ejercicios.js b/ejercicios.js index 3b8835e..04a21f5 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -60,6 +60,12 @@ console.log(nombresProductosBaratos); 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 -- 2.49.1 From e08c7317ead69b4ef77ea389c9899c6399808d59 Mon Sep 17 00:00:00 2001 From: Nery Benincasa <42608796@terciariourquiza.edu.ar> Date: Thu, 7 May 2026 23:17:30 -0300 Subject: [PATCH 5/9] paso 4 --- ejercicios.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ejercicios.js b/ejercicios.js index 04a21f5..c28258a 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -80,6 +80,22 @@ const estudiantes = [ ]; // Resultado esperado: 78.75 +// extraigo las notas usando map y callback +const notas = estudiantes.map(function (estudiante) { + return estudiante.nota; +}); + +//sumo las notas usando un loop +let suma = 0; +for (const nota of notas) { + suma += nota; +} + +// calculo el promedio general +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. -- 2.49.1 From fbe96908540566d13666660af32154c6cfe21a07 Mon Sep 17 00:00:00 2001 From: Nery Benincasa <42608796@terciariourquiza.edu.ar> Date: Thu, 7 May 2026 23:21:34 -0300 Subject: [PATCH 6/9] paso 5 --- ejercicios.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/ejercicios.js b/ejercicios.js index c28258a..b55f425 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -108,6 +108,29 @@ const usuarios = [ // Buscar "Luis" → mostrar sus datos // Buscar "Pedro" → mostrar "Usuario no encontrado" +// creo una función auxiliar para probar con distintos nombres sin repetir código +function buscarYMostrarUsuario(nombreABuscar) { + // uso find con una función anónima + const usuarioEncontrado = usuarios.find(function (usuario) { + return usuario.nombre === nombreABuscar; + }); + + // verifico si find encontró algo o si retornó undefined + if (usuarioEncontrado !== undefined) { + console.log(usuarioEncontrado); + } else { + console.log("Usuario no encontrado"); + } +} + +// Buscar "Luis" → mostrar sus datos +buscarYMostrarUsuario("Luis"); +// Resultado en consola: { nombre: 'Luis', activa: false } + +// Buscar "Pedro" → mostrar "Usuario no encontrado" +buscarYMostrarUsuario("Pedro"); +// Resultado en consola: "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. -- 2.49.1 From 116bac5e450c5b06de5726333eac50ac309497a8 Mon Sep 17 00:00:00 2001 From: Nery Benincasa <42608796@terciariourquiza.edu.ar> Date: Thu, 7 May 2026 23:25:50 -0300 Subject: [PATCH 7/9] paso 6 --- ejercicios.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ejercicios.js b/ejercicios.js index b55f425..4fe2d71 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -142,6 +142,16 @@ 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 palabrasFiltradasYMayusculas = palabras + .filter(function (palabra) { + return palabra.length > 4; + }) + .map(function (palabra) { + return palabra.toUpperCase(); + }); + +console.log(palabrasFiltradasYMayusculas); + /* 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` -- 2.49.1 From 6ff5b924979847f62bfa4cb90821d8ab77bc8a35 Mon Sep 17 00:00:00 2001 From: Nery Benincasa <42608796@terciariourquiza.edu.ar> Date: Thu, 7 May 2026 23:29:21 -0300 Subject: [PATCH 8/9] paso 7 --- ejercicios.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/ejercicios.js b/ejercicios.js index 4fe2d71..385b000 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -170,6 +170,34 @@ const resultados = [ // desaprobados: ["Luis", "Carlos"] // } +function agrupar(listaResultados) { + // 1. Filtro y extraigo los nombres de los aprobados + const listaAprobados = listaResultados + .filter(function (estudiante) { + return estudiante.aprobado === true; + }) + .map(function (estudiante) { + return estudiante.nombre; + }); + + // 2. Filtro y extraigo los nombres de los desaprobados + const listaDesaprobados = listaResultados + .filter(function (estudiante) { + return estudiante.aprobado === false; + }) + .map(function (estudiante) { + return estudiante.nombre; + }); + + // 3. retorno el objeto con ambas listas + return { + aprobados: listaAprobados, + desaprobados: listaDesaprobados + }; +} + +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, -- 2.49.1 From 40d3078df6c811f27d6f0af831f3cbca999397d3 Mon Sep 17 00:00:00 2001 From: Nery Benincasa <42608796@terciariourquiza.edu.ar> Date: Thu, 7 May 2026 23:33:15 -0300 Subject: [PATCH 9/9] paso 8 --- ejercicios.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/ejercicios.js b/ejercicios.js index 385b000..c820254 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -171,7 +171,7 @@ const resultados = [ // } function agrupar(listaResultados) { - // 1. Filtro y extraigo los nombres de los aprobados + // filtro y extraigo los nombres de los aprobados const listaAprobados = listaResultados .filter(function (estudiante) { return estudiante.aprobado === true; @@ -180,7 +180,7 @@ function agrupar(listaResultados) { return estudiante.nombre; }); - // 2. Filtro y extraigo los nombres de los desaprobados + // filtro y extraigo los nombres de los desaprobados const listaDesaprobados = listaResultados .filter(function (estudiante) { return estudiante.aprobado === false; @@ -189,7 +189,7 @@ function agrupar(listaResultados) { return estudiante.nombre; }); - // 3. retorno el objeto con ambas listas + // retorno el objeto con ambas listas return { aprobados: listaAprobados, desaprobados: listaDesaprobados @@ -207,3 +207,16 @@ const sumarDiez = crearSumador(10); console.log(sumarDiez(5)); // 15 console.log(sumarDiez(20)); // 30 */ + +function crearSumador(base) { + // retorno una nueva función tradicional anónima + return function (otroNumero) { + // esta función recuerda el valor de la variable 'base' + return base + otroNumero; + }; +} + +// ejemplo de uso +const sumarDiez = crearSumador(10); +console.log(sumarDiez(5)); // 15 +console.log(sumarDiez(20)); // 30 -- 2.49.1