@@ -12,10 +12,27 @@ import { modules, students, mentors, classes } from "./hyf.js";
1212 * [{ name: 'John', role: 'student' }, { name: 'Mary', role: 'mentor' }]
1313 */
1414const getPeopleOfClass = ( className ) => {
15- // TODO complete this function
15+ const newClass = classes . find ( ( cohrt ) => cohrt . name . includes ( className ) ) ;
16+ const newStudent = students
17+ . filter ( ( student ) => student . class . includes ( className ) )
18+ . map ( ( student ) => {
19+ return {
20+ name : student . name ,
21+ role : "student" ,
22+ } ;
23+ } ) ;
24+ const newMentor = mentors
25+ . filter ( ( mentor ) => mentor . nowTeaching === newClass . currentModule )
26+ . map ( ( mentor ) => {
27+ return {
28+ name : mentor . name ,
29+ role : "mentor" ,
30+ } ;
31+ } ) ;
32+ return [ ...newStudent , ...newMentor ] ;
1633} ;
1734// You can uncomment out this line to try your function
18- // console.log(getPeopleOfClass(' class34' ));
35+ console . log ( getPeopleOfClass ( " class34" ) ) ;
1936
2037/**
2138 * We would like to have a complete overview of the current active classes.
@@ -31,6 +48,12 @@ const getPeopleOfClass = (className) => {
3148 */
3249const getActiveClasses = ( ) => {
3350 // TODO complete this function
51+ const activeClasses = classes . filter ( ( Class ) => Class . active === true ) ;
52+
53+ return activeClasses . reduce ( ( result , Class ) => {
54+ result [ Class . name ] = getPeopleOfClass ( Class . name ) ;
55+ return result ;
56+ } , { } ) ;
3457} ;
3558// You can uncomment out this line to try your function
36- // console.log(getActiveClasses());
59+ console . log ( getActiveClasses ( ) ) ;
0 commit comments