11import { modules , students , mentors , classes } from "./hyf.js" ;
2-
32/**
43 * We would like to have a list of everyone that is currently participating in a class.
54 * This means the students, but also the mentors that are currently teaching the class.
@@ -12,10 +11,21 @@ import { modules, students, mentors, classes } from "./hyf.js";
1211 * [{ name: 'John', role: 'student' }, { name: 'Mary', role: 'mentor' }]
1312 */
1413const getPeopleOfClass = ( className ) => {
15- // TODO complete this function
16- } ;
17- // You can uncomment out this line to try your function
18- // console.log(getPeopleOfClass('class34'));
14+ const classInfo = classes . find ( classes => classes . name === className ) ;
15+ if ( ! classInfo ) {
16+ return [ ] ;
17+ }
18+ const currentModule = classInfo . currentModule ;
19+ const classStudents = students . filter ( student => student . class === className )
20+ . map ( student => ( { name : student . name , role :'student' } ) ) ;
21+
22+ const classMentors = mentors . filter ( mentor => mentor . nowTeaching === currentModule )
23+ . map ( mentor => ( { name : mentor . name , role : 'mentor' } ) ) ;
24+
25+ return [ ...classStudents , ...classMentors ] ;
26+ } ;
27+
28+ console . log ( getPeopleOfClass ( 'class34' ) ) ;
1929
2030/**
2131 * We would like to have a complete overview of the current active classes.
@@ -30,7 +40,13 @@ const getPeopleOfClass = (className) => {
3040 * }
3141 */
3242const getActiveClasses = ( ) => {
33- // TODO complete this function
43+ const activeClasses = classes . filter ( classes => classes . active ) ;
44+ const result = { } ;
45+ activeClasses . forEach ( classes => {
46+ result [ classes . name ] = getPeopleOfClass ( classes . name ) ;
47+ } ) ;
48+
49+ return result ;
3450} ;
35- // You can uncomment out this line to try your function
36- // console.log(getActiveClasses());
51+
52+ console . log ( getActiveClasses ( ) ) ;
0 commit comments