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.
@@ -10,9 +10,38 @@ import { modules, students, mentors, classes } from "./hyf.js";
10
10
* Should return the list of names and their roles. So something like:
11
11
*
12
12
* [{ name: 'John', role: 'student' }, { name: 'Mary', role: 'mentor' }]
13
+ *
14
+ *
13
15
*/
16
+
17
+ // const mentorsCanTeach = mentors
18
+ // .filter(methods => methods.canTeach.some(method => method === moduleName))
19
+ // .map(mentor => mentor.name);
20
+ // return mentorsCanTeach;
21
+
14
22
const getPeopleOfClass = ( className ) => {
15
- // TODO complete this function
23
+
24
+ const studentsInClass = students . filter ( student => student . class === className )
25
+ . map ( student => student . name ) ;
26
+
27
+ const moduleName = classes . filter ( whatClassIs => whatClassIs . name === className )
28
+ . map ( module => module . currentModule ) [ 0 ] ;
29
+
30
+ const mentorName = mentors . filter ( mod => mod . nowTeaching === moduleName )
31
+ . map ( TeacherName => TeacherName . name ) [ 0 ] ;
32
+
33
+ const listOfNames = [
34
+ {
35
+ name : studentsInClass [ 0 ] ,
36
+ role : 'student'
37
+ } ,
38
+ {
39
+ name : mentorName ,
40
+ role : 'mentor'
41
+
42
+ } ,
43
+ ] ;
44
+ return listOfNames ;
16
45
} ;
17
46
// You can uncomment out this line to try your function
18
47
// console.log(getPeopleOfClass('class34'));
@@ -29,8 +58,16 @@ const getPeopleOfClass = (className) => {
29
58
* class35: [{ name: 'Jane', role: 'student' }, { name: 'Steve', role: 'mentor' }]
30
59
* }
31
60
*/
61
+
32
62
const getActiveClasses = ( ) => {
33
- // TODO complete this function
63
+ const activeClasses = classes . filter ( cls => cls . active ) ;
64
+
65
+ const result = { } ;
66
+
67
+ activeClasses . forEach ( element => {
68
+ result [ element . name ] = getPeopleOfClass ( element . name ) ;
69
+ } ) ;
70
+
71
+ return result ;
34
72
} ;
35
- // You can uncomment out this line to try your function
36
- // console.log(getActiveClasses());
73
+ console . log ( getActiveClasses ( ) ) ;
0 commit comments