forked from marquez.juan/clase-7-arrays-funciones-objetos
Compare commits
9 Commits
8b7e397900
...
feat/excer
| Author | SHA1 | Date | |
|---|---|---|---|
| 427451dd3c | |||
| 3be7d0cac3 | |||
| faca545cdc | |||
|
|
92151da443 | ||
|
|
4cc7835881 | ||
|
|
90c3a7089c | ||
|
|
801c73eae2 | ||
|
|
e8be386ee7 | ||
|
|
2940e327c9 |
@@ -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));
|
||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user