@@ -12,10 +12,33 @@ 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
16
- } ;
15
+ const studentsOfClass = students
16
+ . filter ( student => student . class === className )
17
+ . map ( student => {
18
+ return {
19
+ name : student . name ,
20
+ role : 'student'
21
+ }
22
+ } )
23
+
24
+ let currentModule ;
25
+ classes . map ( classItem => {
26
+ if ( classItem . name === className && classItem . active === true ) {
27
+ currentModule = classItem . currentModule
28
+ }
29
+ } )
30
+ const mentorsOfClass = mentors
31
+ . filter ( mentor => mentor . nowTeaching && mentor . nowTeaching === currentModule )
32
+ . map ( mentor => {
33
+ return {
34
+ name : mentor . name ,
35
+ role : 'mentor'
36
+ }
37
+ } )
38
+ return currentModule ? [ ...studentsOfClass , ...mentorsOfClass ] : [ ...studentsOfClass ]
39
+ } ;
17
40
// You can uncomment out this line to try your function
18
- // console.log(getPeopleOfClass('class34'));
41
+ //console.log(getPeopleOfClass('class34'));
19
42
20
43
/**
21
44
* We would like to have a complete overview of the current active classes.
@@ -30,7 +53,13 @@ const getPeopleOfClass = (className) => {
30
53
* }
31
54
*/
32
55
const getActiveClasses = ( ) => {
33
- // TODO complete this function
56
+ const activeClasses = { }
57
+ classes
58
+ . filter ( classItem => classItem . active === true )
59
+ . map ( classItem => {
60
+ activeClasses [ classItem . name ] = getPeopleOfClass ( classItem . name )
61
+ } )
62
+ return activeClasses ;
34
63
} ;
35
64
// You can uncomment out this line to try your function
36
- // console.log(getActiveClasses());
65
+ console . log ( getActiveClasses ( ) ) ;
0 commit comments