feat: refactor results structure and implement agrouping function for student approval status
This commit is contained in:
@@ -105,17 +105,16 @@ const words = ["sol", "tormenta", "mar", "lluvia", "río", "arcoíris"];
|
||||
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
|
||||
`{ 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 }
|
||||
const results = [
|
||||
{ name: "Ana", passed: true },
|
||||
{ name: "Luis", passed: false },
|
||||
{ name: "Marta", passed: true },
|
||||
{ name: "Carlos", passed: false }
|
||||
];
|
||||
|
||||
// Resultado esperado:
|
||||
@@ -124,6 +123,17 @@ const resultados = [
|
||||
// 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
|
||||
número `base` y retorne una función que, al llamarla con otro número,
|
||||
|
||||
Reference in New Issue
Block a user