menu-usuario-perez
Version:
paquete para gestionar estudiantes
96 lines (72 loc) • 2.54 kB
JavaScript
/*const {leerArchivo}=require('./files');
const personas = leerArchivo('datos.txt', 'utf8').then(respuesta=>respuesta)
.catch(error=>error)
let arregloPersonas = JSON.parse(personas)*/
module.exports = {
obtenerMateriasFavoritas: (arregloPersonas) => {
const materias = [];
arregloPersonas
.reduce((materiasFavoritasPorPersona, persona) => {
materiasFavoritasPorPersona.push(persona.materiasPreferidas);
return materiasFavoritasPorPersona
}, []
).map(
materia => {
const nombres = []
materia.forEach((elemento, indice, array) => {
materias.push(elemento.nombre)
}
)
return nombres
}
)
return materias
},
obternerPersonasActivas: (arregloPersonas) => {
let activos = arregloPersonas
.reduce((acumulador, value) => {
const estaActivo = value.isActive;
if (estaActivo) {
acumulador.push(value.name);
}
return acumulador;
}, []);
return activos;
},
obternerPersonasInactivas: (arreglo) => {
let inactivos = arreglo
.reduce((acumulador, value) => {
estaInactivo = value.isActive === false;
if (estaInactivo) {
acumulador.push(value.name);
}
return acumulador;
}, []);
return inactivos
},
obtenerPersonasEntreUnRangoDeEdad: (arreglo, edadInferior, edadSuperior) => {
let personas = arreglo
.reduce((acumulador, value) => {
let personasEnElRango = (value.age >= edadInferior && value.age <= edadSuperior);
if (personasEnElRango) {
acumulador.push(value.name);
}
return acumulador;
}, []);
let resultado = [];
resultado.push(personas);
resultado.push(personas.length);
let mensaje = 'no problem'
if (personas.lenght < 1) {
mensaje = 'No Items problem'
}
resultado.push(mensaje);
return resultado;
},
buscarPersonaPorId: (id, arregloPersonas) => {
let personasEncontradas = arregloPersonas.filter(
persona => persona._id === id
)
return personasEncontradas
}
}