@@ -11,11 +11,19 @@ import { modules, students, mentors, classes } from "./hyf.js";
1111 *
1212 * [{ name: 'John', role: 'student' }, { name: 'Mary', role: 'mentor' }]
1313 */
14- const getPeopleOfClass = ( className ) => {
15- // TODO complete this function
14+ const getPeopleOfClass = className => {
15+ const classInfo = classes . find ( x => x . name === className ) ;
16+ if ( ! classInfo ) return [ ] ;
17+
18+ const studentsOfClass = students . filter ( student => student . class === className ) . map ( student => ( { name : student . name , role : "student" } ) ) ;
19+
20+ const mentorsOfClass = mentors . filter ( mentor => mentor . nowTeaching === classInfo . currentModule ) . map ( mentor => ( { name : mentor . name , role : "mentor" } ) ) ;
21+
22+ return [ ...studentsOfClass , ...mentorsOfClass ] ;
1623} ;
24+
1725// You can uncomment out this line to try your function
18- // console.log(getPeopleOfClass(' class34' ));
26+ console . log ( getPeopleOfClass ( " class34" ) ) ;
1927
2028/**
2129 * We would like to have a complete overview of the current active classes.
@@ -30,7 +38,13 @@ const getPeopleOfClass = (className) => {
3038 * }
3139 */
3240const getActiveClasses = ( ) => {
33- // TODO complete this function
41+ return classes
42+ . filter ( x => x . active )
43+ . reduce ( ( activeClasses , currentClass ) => {
44+ activeClasses [ currentClass . name ] = getPeopleOfClass ( currentClass . name ) ;
45+ return activeClasses ;
46+ } , { } ) ;
3447} ;
48+
3549// You can uncomment out this line to try your function
36- // console.log(getActiveClasses());
50+ console . log ( getActiveClasses ( ) ) ;
0 commit comments