11import { modules , students , mentors , classes } from "./hyf.js" ;
22
3+ const getPeopleOfClass = ( className ) => {
4+ let activeClass = classes . find ( ( teaching ) => teaching . name === className )
5+ if ( ! activeClass ) {
6+ return 'no active class'
7+ }
8+ const people = [ ] ;
9+
10+ if ( activeClass . students ) {
11+ people . push ( ...activeClass . students . map ( students => ( { name : students , role : 'student' } ) ) ) ;
12+ }
13+
14+ if ( activeClass . currentModule ) {
15+ const nameOfMentor = mentors
16+ . filter ( mentor => mentor . nowTeaching === activeClass . currentModule )
17+ . map ( mentor => ( { name :mentor . name , role :'mentor' } ) ) ;
18+ people . push ( ...nameOfMentor ) ;
19+ }
20+ return people ;
321/**
422 * We would like to have a list of everyone that is currently participating in a class.
523 * This means the students, but also the mentors that are currently teaching the class.
@@ -11,11 +29,11 @@ import { modules, students, mentors, classes } from "./hyf.js";
1129 *
1230 * [{ name: 'John', role: 'student' }, { name: 'Mary', role: 'mentor' }]
1331 */
14- const getPeopleOfClass = ( className ) => {
32+
1533 // TODO complete this function
1634} ;
1735// You can uncomment out this line to try your function
18- // console.log(getPeopleOfClass('class34'));
36+ console . log ( getPeopleOfClass ( 'class34' ) ) ;
1937
2038/**
2139 * We would like to have a complete overview of the current active classes.
@@ -30,7 +48,12 @@ const getPeopleOfClass = (className) => {
3048 * }
3149 */
3250const getActiveClasses = ( ) => {
33- // TODO complete this function
51+
52+ return classes . reduce ( ( activeClass , nameOfMentor ) => {
53+ const nameOfClasses = getnameOfClasses ( nameOfMentor . name ) ;
54+ activeClass [ nameOfClasses . name ] = nameOfClasses ;
55+ return activeClass ;
56+ } , { } )
3457} ;
3558// You can uncomment out this line to try your function
36- // console.log(getActiveClasses());
59+ console . log ( getActiveClasses ( ) ) ;
0 commit comments