Compare commits
8 Commits
main
...
ejercicio7
| Author | SHA1 | Date | |
|---|---|---|---|
| e923f74c41 | |||
| 689e61dfea | |||
| d910d5b797 | |||
| 62727d89da | |||
| 463938275c | |||
| 087550580f | |||
| 241e274c98 | |||
| 1bd5f7381e |
149
ejercicios.js
149
ejercicios.js
@@ -1,83 +1,106 @@
|
|||||||
// Vincular este archivo a index.html, debería aparecer este mensaje en la consola:
|
// Ejercicio 1
|
||||||
console.log("Archivo vinculado correctamente.");
|
|
||||||
|
|
||||||
// Resolver los siguientes ejercicios:
|
|
||||||
|
|
||||||
/*
|
|
||||||
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 numeros = [1, 2, 3, 4, 5, 6, 7, 8];
|
||||||
|
|
||||||
|
const resultado = numeros
|
||||||
|
.filter(numero => numero % 2 ===0)
|
||||||
|
.map(numero => numero ** 2);
|
||||||
|
|
||||||
|
console.log(resultado);
|
||||||
// Resultado esperado: [4, 16, 36, 64]
|
// Resultado esperado: [4, 16, 36, 64]
|
||||||
|
//Ejercicio 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
2. Dado el siguiente array de productos, obtener los nombres de todos los
|
|
||||||
productos que cuestan menos de $1000.
|
|
||||||
*/
|
|
||||||
|
|
||||||
const productos = [
|
const productos = [
|
||||||
{ nombre: "Teclado", precio: 800 },
|
{ nombre: "Teclado", precio: 800 },
|
||||||
{ nombre: "Monitor", precio: 3500 },
|
{ nombre: "Monitor", precio: 3500 },
|
||||||
{ nombre: "Mouse", precio: 600 },
|
{ nombre: "Mouse", precio: 600 },
|
||||||
{ nombre: "Auriculares", precio: 1200 }
|
{ nombre: "Auriculares", precio: 1200 }
|
||||||
];
|
];
|
||||||
// Resultado esperado: ["Teclado", "Mouse"]
|
|
||||||
// Pista: se puede resolver encadenando `filter` y `map`.
|
|
||||||
|
|
||||||
|
const baratos = productos
|
||||||
|
.filter(producto => producto.precio < 1000)
|
||||||
|
.map(producto => producto.nombre);
|
||||||
|
|
||||||
|
console.log(baratos);
|
||||||
|
//Ejercicio 3
|
||||||
|
const persona = {
|
||||||
|
nombre: "Ana",
|
||||||
|
edad: 25,
|
||||||
|
ciudad: "Rosario"
|
||||||
|
};
|
||||||
|
function describir(persona) {
|
||||||
|
return persona.nombre + " Tiene " + persona.edad + " años y vive en " +persona.ciudad + ".";
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
console.log(describir(persona));
|
||||||
3. Escribir una función `describir` que reciba un objeto persona con las
|
|
||||||
propiedades `nombre`, `edad` y `ciudad`, y retorne un string del estilo:
|
|
||||||
`"Ana tiene 25 años y vive en Rosario."` Usar destructuring en los
|
|
||||||
parámetros de la función.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
//Ejercicio 4
|
||||||
const estudiantes = [
|
const estudiantes = [
|
||||||
{ nombre: "Ana", nota: 88 },
|
{ nombre: "Ana", nota:88},
|
||||||
{ nombre: "Luis", nota: 72 },
|
{ nombre: "Luis", nota:72},
|
||||||
{ nombre: "Marta", nota: 95 },
|
{ nombre: "Marta", nota:95},
|
||||||
{ nombre: "Carlos", nota: 60 }
|
{ nombre: "Carlos", nota:60},
|
||||||
];
|
];
|
||||||
// Resultado esperado: 78.75
|
const notas = estudiantes.map(estudiantes => estudiantes.nota);
|
||||||
|
|
||||||
/*
|
let suma = 0;
|
||||||
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.
|
for (let nota of notas) {
|
||||||
*/
|
suma += nota;
|
||||||
|
}
|
||||||
|
|
||||||
|
const promedio = suma / notas.length;
|
||||||
|
|
||||||
|
console.log(promedio);
|
||||||
|
|
||||||
|
//Ejercicio 5
|
||||||
const usuarios = [
|
const usuarios = [
|
||||||
{ nombre: "Ana", activa: true },
|
{ nombre: "Ana", activa: true },
|
||||||
{ nombre: "Luis", activa: false },
|
{ nombre: "Luis", activa: false },
|
||||||
{ nombre: "Marta", activa: true }
|
{ nombre: "Marta", activa: true }
|
||||||
];
|
];
|
||||||
// Buscar "Luis" → mostrar sus datos
|
|
||||||
// Buscar "Pedro" → mostrar "Usuario no encontrado"
|
|
||||||
|
|
||||||
/*
|
const usuario1 = usuarios.find(usuario => usuario.nombre === "Luis");
|
||||||
6. Dado el siguiente array, construir un nuevo array que contenga solo las
|
|
||||||
palabras con más de 4 letras, convertidas a mayúsculas.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
if (usuario1) {
|
||||||
|
console.log(usuario1);
|
||||||
|
} else {
|
||||||
|
console.log("Usuario no encontrado");
|
||||||
|
}
|
||||||
|
|
||||||
|
const usuario2 = usuarios.find(usuario => usuario.nombre === "Pedro");
|
||||||
|
|
||||||
|
if (usuario2) {
|
||||||
|
console.log(usuario2);
|
||||||
|
} else {
|
||||||
|
console.log("Usuario no encontrado");
|
||||||
|
}
|
||||||
|
|
||||||
|
//Ejercicio 6
|
||||||
const palabras = ["sol", "tormenta", "mar", "lluvia", "río", "arcoíris"];
|
const palabras = ["sol", "tormenta", "mar", "lluvia", "río", "arcoíris"];
|
||||||
// Resultado esperado: ["TORMENTA", "LLUVIA", "ARCOÍRIS"]
|
|
||||||
|
|
||||||
// Pistas: `palabra.length` da la cantidad de letras. `palabra.toUpperCase()`
|
const palabrasFiltradas = palabras
|
||||||
// convierte a mayúsculas.
|
.filter(palabra => palabra.length > 4)
|
||||||
|
.map(palabra => palabra.toUpperCase());
|
||||||
|
|
||||||
|
console.log(palabrasFiltradas);
|
||||||
|
|
||||||
|
//Ejercicio 7
|
||||||
|
function agrupar(resultados) {
|
||||||
|
const agrupados = {
|
||||||
|
aprobados: [],
|
||||||
|
desaprobados: []
|
||||||
|
};
|
||||||
|
|
||||||
|
for (let resultado of resultados) {
|
||||||
|
if (resultado.aprobado) {
|
||||||
|
agrupados.aprobados.push(resultado.nombre);
|
||||||
|
} else {
|
||||||
|
agrupados.desaprobados.push(resultado.nombre);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return agrupados;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
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 = [
|
const resultados = [
|
||||||
{ nombre: "Ana", aprobado: true },
|
{ nombre: "Ana", aprobado: true },
|
||||||
{ nombre: "Luis", aprobado: false },
|
{ nombre: "Luis", aprobado: false },
|
||||||
@@ -85,18 +108,4 @@ const resultados = [
|
|||||||
{ nombre: "Carlos", aprobado: false }
|
{ nombre: "Carlos", aprobado: false }
|
||||||
];
|
];
|
||||||
|
|
||||||
// Resultado esperado:
|
console.log(agrupar(resultados));
|
||||||
// {
|
|
||||||
// aprobados: ["Ana", "Marta"],
|
|
||||||
// desaprobados: ["Luis", "Carlos"]
|
|
||||||
// }
|
|
||||||
|
|
||||||
/*
|
|
||||||
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,
|
|
||||||
retorne la suma de ambos.
|
|
||||||
|
|
||||||
const sumarDiez = crearSumador(10);
|
|
||||||
console.log(sumarDiez(5)); // 15
|
|
||||||
console.log(sumarDiez(20)); // 30
|
|
||||||
*/
|
|
||||||
@@ -10,6 +10,6 @@
|
|||||||
<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>
|
||||||
|
|
||||||
|
<script src="ejercicios.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user