mi tarea es:
Implemente la función duplicateStudents(), que obtiene la variable "students" y filtra por estudiantes con el mismo número de matrícula. En primer lugar, proyectar todos los elementos en alumnos por número de matrícula. Después de eso, puede filtrar los duplicados con relativa facilidad. Al final del proyecto utilizando el siguiente formato: { matrikelnummer: (matrikelnummer), estudiantes: [ (estudiantes[i], estudiantes[j], ... ) ] }.
Implemente la función invalidGrades(), que obtiene la variable "calificaciones" y filtra las notas posiblemente incorrectas. Por ejemplo, para mantener una verificación manual lo más baja posible, la función debe determinar para qué números de matrícula se transmitieron varias calificaciones para el mismo curso. Ejemplo: Para el número de matrícula X, se transmitió un 2. 7 y un 2. 3 para el curso Y. Sin embargo, la función también tendría en cuenta el caso válido, es decir, para el número de matrícula X, una vez un 5,0 y una vez un 2 ,3 fueron transmitidos para el curso Y.
En esta tarea solo debe usar map(), reduce() y filter(). No implemente bucles for.
function duplicateStudents(students) { return students // TODO: implement me } function invalidGrades(grades) { return grades .map((s) => { // TODO: implement me return { matrikelnummer: -1/* put something here */, grades: []/* put something here */, }; }) .filter((e) => e.grades.length > 0) } Las variables alumnos y notas las tengo en un archivo aparte. Sé que podría ser útil cargar los archivos también, pero uno tiene 1000 líneas y el otro 500. Es por eso que no los estoy cargando. Pero espero que sea posible hacer la tarea sin los valores. Es importante decir que los valores se representan como una matriz 
Le daré un ejemplo del uso de reduce en duplicateStudents , eso no devuelve el formato esperado, pero puede continuar desde allí.
const duplicateStudents = (students) => { const grouping = students.reduce((previous, current) => { if (previous[current.matrikelnummer]) previous[current.matrikelnummer].push(current); // add student if matrikelnummer already exist else previous[current.matrikelnummer] = [current]; return previous; }, {}); console.log(grouping); return //you could process `grouping` to the expected format in here };Aquí hay preferencias para usted: