-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclass-list.js
More file actions
30 lines (23 loc) · 889 Bytes
/
class-list.js
File metadata and controls
30 lines (23 loc) · 889 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import { modules, students, mentors, classes } from "./hyf.js";
const getPeopleOfClass = (className) => {
const cls = classes.find(c => c.name === className);
if (!cls) return [];
const classStudents = students
.filter(student => student.class === className)
.map(student => ({ name: student.name, role: 'student' }));
const classMentors = mentors
.filter(mentor => mentor.nowTeaching === cls.currentModule)
.map(mentor => ({ name: mentor.name, role: 'mentor' }));
return [...classStudents, ...classMentors];
};
console.log("People in class34:", getPeopleOfClass("class34"));
const getActiveClasses = () => {
const result = {};
classes
.filter(cls => cls.active)
.forEach(cls => {
result[cls.name] = getPeopleOfClass(cls.name);
});
return result;
};
console.log("Active classes:", getActiveClasses());