Seguimiento de la rama "smurf" #14

Open
gaibazzi.lucio wants to merge 8 commits from gaibazzi.lucio/clase-7-arrays-funciones-objetos:smurf into main
2 changed files with 87 additions and 1 deletions

View File

@@ -10,6 +10,12 @@ console.log("Archivo vinculado correctamente.");
const numeros = [1, 2, 3, 4, 5, 6, 7, 8]; const numeros = [1, 2, 3, 4, 5, 6, 7, 8];
// Resultado esperado: [4, 16, 36, 64] // Resultado esperado: [4, 16, 36, 64]
const pares = numeros.filter(n => n % 2 === 0);
const cuadrados = pares.map(n => n * n);
console.log(cuadrados);
@@ -27,6 +33,10 @@ 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 prodbaratos = productos.filter(produc => produc.precio < 1000).map(produc => produc.nombre);
console.log(prodbaratos);
/* /*
@@ -36,6 +46,14 @@ const productos = [
parámetros de la función. parámetros de la función.
*/ */
const persona = { nombre: "Ana", edad: 25, ciudad: "Rosario"}
function describir({nombre, edad, ciudad}) {
return `${nombre} tiene ${edad} años y vive en ${ciudad}.`
}
console.log(describir(persona));
/* /*
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
@@ -50,6 +68,24 @@ const estudiantes = [
]; ];
// Resultado esperado: 78.75 // Resultado esperado: 78.75
function estudiante(e) {
return e.nota;
}
const notas = estudiantes.map(estudiante);
let suma = 0;
for (let i = 0; i < notas.length; i = (i+1)) {
suma = suma + notas[i];
}
const promedio = suma / notas.length;
console.log(promedio);
/* /*
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.
@@ -62,6 +98,30 @@ const usuarios = [
// Buscar "Luis" → mostrar sus datos // Buscar "Luis" → mostrar sus datos
// Buscar "Pedro" → mostrar "Usuario no encontrado" // Buscar "Pedro" → mostrar "Usuario no encontrado"
function nombre1(n1) {
return n1.nombre === "Luis";
}
const busqueda1 = usuarios.find(nombre1)
if (busqueda1) {
console.log(busqueda1);
} else {
console.log("Usuario no encontrado");
}
function nombre2(n2) {
return n2.nombre === "Pedro";
}
const busqueda2 = usuarios.find(nombre2);
if (busqueda2) {
console.log(busqueda2);
} else {
console.log("Usuario no encontrado");
}
/* /*
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.
@@ -73,6 +133,20 @@ const palabras = ["sol", "tormenta", "mar", "lluvia", "río", "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.
function arrayletras(palabra) {
return palabra.length > 4;
}
const cantletras = palabras.filter(arrayletras);
function arraymayusc(mayusculas) {
return mayusculas.toUpperCase();
}
const mayuscletras = cantletras.map(arraymayusc);
console.log(mayuscletras);
/* /*
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`
@@ -91,6 +165,18 @@ const resultados = [
// desaprobados: ["Luis", "Carlos"] // desaprobados: ["Luis", "Carlos"]
// } // }
const agrupar = resultados => ({
aprobados: resultados
.filter(resultado => resultado.aprobado)
.map(resultado => resultado.nombre),
desaprobados: resultados
.filter(resultado => !resultado.aprobado)
.map(resultado => resultado.nombre)
});
console.log(agrupar(resultados));
/* /*
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,

View File

@@ -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>