@@ -12,10 +12,27 @@ import { modules, students, mentors, classes } from "./hyf.js";
12
12
* [{ name: 'John', role: 'student' }, { name: 'Mary', role: 'mentor' }]
13
13
*/
14
14
const 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 ] ;
16
33
} ;
17
34
// You can uncomment out this line to try your function
18
- // console.log(getPeopleOfClass(' class34' ));
35
+ console . log ( getPeopleOfClass ( " class34" ) ) ;
19
36
20
37
/**
21
38
* We would like to have a complete overview of the current active classes.
@@ -31,6 +48,12 @@ const getPeopleOfClass = (className) => {
31
48
*/
32
49
const getActiveClasses = ( ) => {
33
50
// 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
+ } , { } ) ;
34
57
} ;
35
58
// You can uncomment out this line to try your function
36
- // console.log(getActiveClasses());
59
+ console . log ( getActiveClasses ( ) ) ;
0 commit comments