9 Commits

Author SHA1 Message Date
40d3078df6 paso 8 2026-05-07 23:33:15 -03:00
6ff5b92497 paso 7 2026-05-07 23:29:21 -03:00
116bac5e45 paso 6 2026-05-07 23:25:50 -03:00
fbe9690854 paso 5 2026-05-07 23:21:34 -03:00
e08c7317ea paso 4 2026-05-07 23:17:30 -03:00
68495cc71e paso 3 2026-05-07 23:11:40 -03:00
731c8953a9 Paso 2 2026-05-07 23:08:22 -03:00
c1b1290bac Paso 1 2026-05-07 22:47:30 -03:00
68ba5a27ea agrego archivo js a index 2026-05-07 22:39:41 -03:00
2 changed files with 136 additions and 16 deletions

View File

@@ -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,15 +35,23 @@ 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`.
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
@@ -36,6 +60,12 @@ const productos = [
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
@@ -43,25 +73,64 @@ 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
// 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.
*/
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"
// 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.
@@ -73,16 +142,26 @@ 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`
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:
@@ -91,6 +170,34 @@ const resultados = [
// desaprobados: ["Luis", "Carlos"]
// }
function agrupar(listaResultados) {
// filtro y extraigo los nombres de los aprobados
const listaAprobados = listaResultados
.filter(function (estudiante) {
return estudiante.aprobado === true;
})
.map(function (estudiante) {
return estudiante.nombre;
});
// filtro y extraigo los nombres de los desaprobados
const listaDesaprobados = listaResultados
.filter(function (estudiante) {
return estudiante.aprobado === false;
})
.map(function (estudiante) {
return estudiante.nombre;
});
// 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,
@@ -100,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

View File

@@ -10,6 +10,6 @@
<p>Vincular el archivo ejercicios.js a este archivo. Luego, resolver ahí
los ejercicios.</p>
<script src="ejercicios.js"></script>
</body>
</html>