Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0335b38

Browse files
committed
finished prep
1 parent 64b391c commit 0335b38

File tree

2 files changed

+34
-6
lines changed

2 files changed

+34
-6
lines changed

Week3/prep-exercises/1-hyf-program/1-find-mentors.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,12 @@ import { modules, students, mentors, classes } from "./hyf.js";
99
*/
1010
const possibleMentorsForModule = (moduleName) => {
1111
// TODO complete this function
12+
return mentors
13+
.filter((mentor) => mentor.canTeach.includes(moduleName))
14+
.map((mentor) => mentor.name);
1215
};
1316
// You can uncomment out this line to try your function
14-
// console.log(possibleMentorsForModule('using-apis'));
17+
console.log(possibleMentorsForModule("using-apis"));
1518

1619
/**
1720
* Tjebbe wants to make it even easier for himself.
@@ -20,7 +23,9 @@ const possibleMentorsForModule = (moduleName) => {
2023
* It should return a single name.
2124
*/
2225
const findMentorForModule = (moduleName) => {
23-
// TODO complete this function
26+
const mentorCanTeach = possibleMentorsForModule(moduleName);
27+
28+
return mentorCanTeach[Math.floor(Math.random() * mentorCanTeach.length)];
2429
};
2530
// You can uncomment out this line to try your function
26-
// console.log(findMentorForModule('javascript'));
31+
console.log(findMentorForModule("javascript"));

Week3/prep-exercises/1-hyf-program/2-class-list.js

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,27 @@ import { modules, students, mentors, classes } from "./hyf.js";
1212
* [{ name: 'John', role: 'student' }, { name: 'Mary', role: 'mentor' }]
1313
*/
1414
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];
1633
};
1734
// You can uncomment out this line to try your function
18-
// console.log(getPeopleOfClass('class34'));
35+
console.log(getPeopleOfClass("class34"));
1936

2037
/**
2138
* We would like to have a complete overview of the current active classes.
@@ -31,6 +48,12 @@ const getPeopleOfClass = (className) => {
3148
*/
3249
const getActiveClasses = () => {
3350
// 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+
}, {});
3457
};
3558
// You can uncomment out this line to try your function
36-
// console.log(getActiveClasses());
59+
console.log(getActiveClasses());

0 commit comments

Comments
 (0)