1
- import { modules , students , mentors , classes } from " ./hyf.js" ;
1
+ import { modules , students , mentors , classes } from ' ./hyf.js' ;
2
2
3
3
/**
4
4
* We would like to have a list of everyone that is currently participating in a class.
@@ -12,10 +12,24 @@ 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 { currentModule } = classes . find ( ( item ) => item . name === className ) ;
16
+
17
+ const studentsClass = students
18
+ . filter ( ( student ) => student . class === className )
19
+ . map ( ( student ) => {
20
+ return { name : student . name , role : 'student' } ;
21
+ } ) ;
22
+
23
+ const mentorsClass = mentors
24
+ . filter ( ( mentor ) => mentor . nowTeaching === currentModule )
25
+ . map ( ( mentor ) => {
26
+ return { name : mentor . name , role : 'mentor' } ;
27
+ } ) ;
28
+
29
+ return [ ...studentsClass , ...mentorsClass ] ;
16
30
} ;
17
31
// You can uncomment out this line to try your function
18
- // console.log(getPeopleOfClass('class34'));
32
+ console . log ( getPeopleOfClass ( 'class34' ) ) ;
19
33
20
34
/**
21
35
* We would like to have a complete overview of the current active classes.
@@ -30,7 +44,14 @@ const getPeopleOfClass = (className) => {
30
44
* }
31
45
*/
32
46
const getActiveClasses = ( ) => {
33
- // TODO complete this function
47
+ const activeClasses = classes . filter ( ( specificClass ) => specificClass . active ) ;
48
+
49
+ return activeClasses . reduce ( ( accumulator , activeClass ) => {
50
+ return {
51
+ ...accumulator ,
52
+ [ activeClass . name ] : getPeopleOfClass ( activeClass . name ) ,
53
+ } ;
54
+ } , { } ) ;
34
55
} ;
35
56
// You can uncomment out this line to try your function
36
- // console.log(getActiveClasses());
57
+ console . log ( getActiveClasses ( ) ) ;
0 commit comments