-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.js
46 lines (36 loc) · 1.62 KB
/
app.js
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// Функция фильтрации по оценке
function filterByGrade(students, minGrade) {
return students.filter(student => student.grade >= minGrade);
}
// Функция сортировки по возрасту
function sortByAge(students) {
return students.slice().sort((a, b) => a.age - b.age);
}
// Функция подсчета среднего балла
function calculateAverageGrade(students) {
if (students.length === 0) return 0;
const totalGrade = students.reduce((sum, student) => sum + student.grade, 0);
return totalGrade / students.length;
}
// Функция поиска студента по имени
function findByName(students, name) {
return students.find(student => student.name === name) || null;
}
const studentData = [
{ name: "Alice", age: 20, grade: 85 },
{ name: "Bob", age: 22, grade: 92 },
{ name: "Charlie", age: 21, grade: 78 },
];
const minGrade = 80;
const filteredStudents = filterByGrade(studentData, minGrade);
console.log("Студенты с оценкой выше или равной " + minGrade + ":");
console.log(filteredStudents);
const sortedStudents = sortByAge(studentData);
console.log("Студенты, отсортированные по возрасту:");
console.log(sortedStudents);
const averageGrade = calculateAverageGrade(studentData);
console.log("Средний балл по всем студентам: " + averageGrade);
const searchName = "Bob";
const foundStudent = findByName(studentData, searchName);
console.log("Студент с именем " + searchName + ":");
console.log(foundStudent);