Compare commits

..

9 Commits

2 changed files with 69 additions and 21 deletions

View File

@@ -7,18 +7,21 @@ console.log("Archivo vinculado correctamente.");
1. Dado el siguiente array, usar `filter` para obtener solo los números pares, y 1. Dado el siguiente array, usar `filter` para obtener solo los números pares, y
luego `map` para elevarlos al cuadrado. 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] // Resultado esperado: [4, 16, 36, 64]
const isEven = (num) => num % 2 === 0;
const evenNumbers = numbers.filter(isEven);
const squaredEvenNumbers = evenNumbers.map(num => num ** 2);
console.log(squaredEvenNumbers);
/* /*
2. Dado el siguiente array de productos, obtener los nombres de todos los 2. Dado el siguiente array de productos, obtener los nombres de todos los
productos que cuestan menos de $1000. productos que cuestan menos de $1000.
*/ */
const productos = [ const products = [
{ nombre: "Teclado", precio: 800 }, { nombre: "Teclado", precio: 800 },
{ nombre: "Monitor", precio: 3500 }, { nombre: "Monitor", precio: 3500 },
{ nombre: "Mouse", precio: 600 }, { nombre: "Mouse", precio: 600 },
@@ -27,7 +30,9 @@ const productos = [
// Resultado esperado: ["Teclado", "Mouse"] // Resultado esperado: ["Teclado", "Mouse"]
// Pista: se puede resolver encadenando `filter` y `map`. // 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 3. Escribir una función `describir` que reciba un objeto persona con las
@@ -36,53 +41,80 @@ const productos = [
parámetros de la función. 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 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. usando `map` para extraer las notas y luego un loop para sumarlas.
*/ */
const estudiantes = [ const students = [
{ nombre: "Ana", nota: 88 }, { name: "Ana", grades: 88 },
{ nombre: "Luis", nota: 72 }, { name: "Luis", grades: 72 },
{ nombre: "Marta", nota: 95 }, { name: "Marta", grades: 95 },
{ nombre: "Carlos", nota: 60 } { name: "Carlos", grades: 60 }
]; ];
// Resultado esperado: 78.75 // 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 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. en consola un mensaje diferente según si se encontró o no.
*/ */
const usuarios = [ const users = [
{ nombre: "Ana", activa: true }, { name: "Ana", active: true },
{ nombre: "Luis", activa: false }, { name: "Luis", active: false },
{ nombre: "Marta", activa: true } { name: "Marta", active: true }
]; ];
// Buscar "Luis" → mostrar sus datos // Buscar "Luis" → mostrar sus datos
// Buscar "Pedro" → mostrar "Usuario no encontrado" // 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 6. Dado el siguiente array, construir un nuevo array que contenga solo las
palabras con más de 4 letras, convertidas a mayúsculas. 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"] // Resultado esperado: ["TORMENTA", "LLUVIA", "ARCOÍRIS"]
// Pistas: `palabra.length` da la cantidad de letras. `palabra.toUpperCase()` // Pistas: `palabra.length` da la cantidad de letras. `palabra.toUpperCase()`
// convierte a mayúsculas. // 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 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` `{ nombre, aprobado }` y retorne un objeto con dos propiedades: `aprobados`
y `desaprobados`, cada una con un array de nombres. y `desaprobados`, cada una con un array de nombres.
*/ */
const resultados = [ const results = [
{ nombre: "Ana", aprobado: true }, { name: "Ana", passed: true },
{ nombre: "Luis", aprobado: false }, { name: "Luis", passed: false },
{ nombre: "Marta", aprobado: true }, { name: "Marta", passed: true },
{ nombre: "Carlos", aprobado: false } { name: "Carlos", passed: false }
]; ];
// Resultado esperado: // Resultado esperado:
@@ -91,6 +123,17 @@ const resultados = [
// desaprobados: ["Luis", "Carlos"] // 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 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, número `base` y retorne una función que, al llamarla con otro número,
@@ -100,3 +143,9 @@ const sumarDiez = crearSumador(10);
console.log(sumarDiez(5)); // 15 console.log(sumarDiez(5)); // 15
console.log(sumarDiez(20)); // 30 console.log(sumarDiez(20)); // 30
*/ */
const makeSum = (base) => (num) => base + num;
const sumTen = makeSum(10);
console.log(sumTen(5));
console.log(sumTen(20));

View File

@@ -9,7 +9,6 @@
<h1>Ejercicios en javascript - clase 7</h1> <h1>Ejercicios en javascript - clase 7</h1>
<p>Vincular el archivo ejercicios.js a este archivo. Luego, resolver ahí <p>Vincular el archivo ejercicios.js a este archivo. Luego, resolver ahí
los ejercicios.</p> los ejercicios.</p>
</body> </body>
<script src="ejercicios.js"></script>
</html> </html>