diff --git a/ejercicios.js b/ejercicios.js index af5f6bb..071cd47 100644 --- a/ejercicios.js +++ b/ejercicios.js @@ -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,