From 2940e327c9d1dd46b983ae532f262e5eebfe4fb6 Mon Sep 17 00:00:00 2001 From: Facundo White <149567745+ZexionWhite@users.noreply.github.com> Date: Mon, 4 May 2026 19:50:06 -0300 Subject: [PATCH 1/9] feat: implement isEven function with filter --- ejercicios.js | 6 ++++-- index.html | 3 +-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ejercicios.js b/ejercicios.js index c12f2d1..b7f6d46 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -7,11 +7,13 @@ console.log("Archivo vinculado correctamente."); 1. Dado el siguiente array, usar `filter` para obtener solo los números pares, y luego `map` para elevarlos al cuadrado. */ -const numeros = [1, 2, 3, 4, 5, 6, 7, 8]; +const numbers = [1, 2, 3, 4, 5, 6, 7, 8]; // Resultado esperado: [4, 16, 36, 64] +const isEven = (num) => num % 2 === 0; - +const evenNumbers = numbers.filter(isEven); +console.log(evenNumbers); /* 2. Dado el siguiente array de productos, obtener los nombres de todos los diff --git a/index.html b/index.html index b44ebd0..42318b5 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,6 @@

Ejercicios en javascript - clase 7

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

- - + -- 2.49.1 From e8be386ee77e8c100bdbfe3961be6615c1853906 Mon Sep 17 00:00:00 2001 From: Facundo White <149567745+ZexionWhite@users.noreply.github.com> Date: Mon, 4 May 2026 19:52:28 -0300 Subject: [PATCH 2/9] feat: implement squaredEvenNumbers with map to squared numbers in the array numbers --- ejercicios.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ejercicios.js b/ejercicios.js index b7f6d46..01d37f9 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -13,7 +13,8 @@ const numbers = [1, 2, 3, 4, 5, 6, 7, 8]; const isEven = (num) => num % 2 === 0; const evenNumbers = numbers.filter(isEven); -console.log(evenNumbers); +const squaredEvenNumbers = evenNumbers.map(num => num ** 2); +console.log(squaredEvenNumbers); /* 2. Dado el siguiente array de productos, obtener los nombres de todos los -- 2.49.1 From 801c73eae20bdc02b2e18c8e2d8cafa2518f6bf8 Mon Sep 17 00:00:00 2001 From: Facundo White <149567745+ZexionWhite@users.noreply.github.com> Date: Mon, 4 May 2026 19:58:19 -0300 Subject: [PATCH 3/9] feat: implement a filter to index cheapest products --- ejercicios.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ejercicios.js b/ejercicios.js index 01d37f9..acfa7f3 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -21,7 +21,7 @@ console.log(squaredEvenNumbers); productos que cuestan menos de $1000. */ -const productos = [ +const products = [ { nombre: "Teclado", precio: 800 }, { nombre: "Monitor", precio: 3500 }, { nombre: "Mouse", precio: 600 }, @@ -30,7 +30,9 @@ const productos = [ // Resultado esperado: ["Teclado", "Mouse"] // Pista: se puede resolver encadenando `filter` y `map`. - +const cheapestProducts = products.filter(product => product.precio < 1000); +const cheapestProductNames = cheapestProducts.map(product => product.nombre); +console.log(cheapestProductNames); /* 3. Escribir una función `describir` que reciba un objeto persona con las -- 2.49.1 From 90c3a7089c218fe0f8fcd11f54ad6e4418078c67 Mon Sep 17 00:00:00 2001 From: Facundo White <149567745+ZexionWhite@users.noreply.github.com> Date: Mon, 4 May 2026 20:16:01 -0300 Subject: [PATCH 4/9] feat: add descriptingPerson function to format person details --- ejercicios.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ejercicios.js b/ejercicios.js index acfa7f3..e586d73 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -41,7 +41,10 @@ console.log(cheapestProductNames); parámetros de la función. */ +const descriptingPerson = ({name, age, city}) => (`${name} tiene ${age} años y vive en ${city}.`); +descriptingPerson({ name: "Facundo", age: 25, city: "Rosario" }); +console.log(descriptingPerson({ name: "Facundo", age: 25, city: "Rosario" })); /* 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. @@ -55,6 +58,8 @@ const estudiantes = [ ]; // 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. -- 2.49.1 From 4cc783588117aef22d4b8be283c2c71039e5daa8 Mon Sep 17 00:00:00 2001 From: Facundo White <149567745+ZexionWhite@users.noreply.github.com> Date: Mon, 4 May 2026 20:27:47 -0300 Subject: [PATCH 5/9] feat: update student data structure and calculate average grades --- ejercicios.js | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/ejercicios.js b/ejercicios.js index e586d73..098f63e 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -45,21 +45,27 @@ const descriptingPerson = ({name, age, city}) => (`${name} tiene ${age} años y descriptingPerson({ name: "Facundo", age: 25, city: "Rosario" }); console.log(descriptingPerson({ name: "Facundo", age: 25, city: "Rosario" })); + /* 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. */ -const estudiantes = [ - { nombre: "Ana", nota: 88 }, - { nombre: "Luis", nota: 72 }, - { nombre: "Marta", nota: 95 }, - { nombre: "Carlos", nota: 60 } +const students = [ + { name: "Ana", grades: 88 }, + { name: "Luis", grades: 72 }, + { name: "Marta", grades: 95 }, + { name: "Carlos", grades: 60 } ]; // Resultado esperado: 78.75 - - +const grades = students.map(student => student.grades); +let sum = 0; +for (let grade of grades) { + sum += grade; +} +const average = sum / grades.length; +console.log(average); /* 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 92151da443d1c44279fd30a8a9b8bba93bd99fbc Mon Sep 17 00:00:00 2001 From: Facundo White <149567745+ZexionWhite@users.noreply.github.com> Date: Mon, 4 May 2026 20:34:37 -0300 Subject: [PATCH 6/9] feat: implement findUser function to search for users by name --- ejercicios.js | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/ejercicios.js b/ejercicios.js index 098f63e..9961410 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -66,18 +66,31 @@ for (let grade of grades) { } const average = sum / grades.length; console.log(average); + /* 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 } +const users = [ + { name: "Ana", active: true }, + { name: "Luis", active: false }, + { name: "Marta", active: true } ]; // Buscar "Luis" → mostrar sus datos // Buscar "Pedro" → mostrar "Usuario no encontrado" +const findUser = (name) => { + const user = users.find(user => user.name === name); + if (user) { + console.log(user); + } else { + console.log("Usuario no encontrado"); + } +}; + +findUser("Luis"); +findUser("Pedro"); + /* 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 faca545cdc32ef01caabf5c751597b90c6f5e89a Mon Sep 17 00:00:00 2001 From: Facundo Saucedo <43495919@terciariourquiza.edu.ar> Date: Mon, 4 May 2026 20:38:58 -0300 Subject: [PATCH 7/9] feat: add functionality to filter and uppercase long words from an array --- ejercicios.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ejercicios.js b/ejercicios.js index 9961410..af5f6bb 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -96,12 +96,16 @@ findUser("Pedro"); palabras con más de 4 letras, convertidas a mayúsculas. */ -const palabras = ["sol", "tormenta", "mar", "lluvia", "río", "arcoíris"]; +const words = ["sol", "tormenta", "mar", "lluvia", "río", "arcoíris"]; // Resultado esperado: ["TORMENTA", "LLUVIA", "ARCOÍRIS"] // Pistas: `palabra.length` da la cantidad de letras. `palabra.toUpperCase()` // convierte a mayúsculas. +const longWords = words.filter(word => word.length > 4).map(word => word.toUpperCase()); +console.log(longWords); + + /* 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 3be7d0cac3e05eb2242bfad2160c3ff10bb6f48a Mon Sep 17 00:00:00 2001 From: Facundo Saucedo <43495919@terciariourquiza.edu.ar> Date: Mon, 4 May 2026 20:45:16 -0300 Subject: [PATCH 8/9] feat: refactor results structure and implement agrouping function for student approval status --- ejercicios.js | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/ejercicios.js b/ejercicios.js index af5f6bb..071cd47 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -105,17 +105,16 @@ const words = ["sol", "tormenta", "mar", "lluvia", "río", "arcoíris"]; const longWords = words.filter(word => word.length > 4).map(word => word.toUpperCase()); console.log(longWords); - /* 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 }, - { nombre: "Marta", aprobado: true }, - { nombre: "Carlos", aprobado: false } +const results = [ + { name: "Ana", passed: true }, + { name: "Luis", passed: false }, + { name: "Marta", passed: true }, + { name: "Carlos", passed: false } ]; // Resultado esperado: @@ -124,6 +123,17 @@ const resultados = [ // desaprobados: ["Luis", "Carlos"] // } +const agroupedResults = results.reduce((acc, result) => { + if (result.passed) { + acc.passed.push(result.name); + } else { + acc.failed.push(result.name); + } + return acc; +}, { passed: [], failed: [] }); + +console.log(agroupedResults); + /* 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 427451dd3c9e157b1b16a190d16ddfd180f312b9 Mon Sep 17 00:00:00 2001 From: Facundo Saucedo <43495919@terciariourquiza.edu.ar> Date: Mon, 4 May 2026 20:49:36 -0300 Subject: [PATCH 9/9] feat: add makeSum function to create a closure for summing with a base value --- ejercicios.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ejercicios.js b/ejercicios.js index 071cd47..6fe9b70 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -143,3 +143,9 @@ const sumarDiez = crearSumador(10); console.log(sumarDiez(5)); // 15 console.log(sumarDiez(20)); // 30 */ + +const makeSum = (base) => (num) => base + num; + +const sumTen = makeSum(10); +console.log(sumTen(5)); +console.log(sumTen(20)); \ No newline at end of file -- 2.49.1