Advertisement
vladovip

school regiser_JS fund_Obj

May 9th, 2022
745
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function schoolRegister(inputArr) {
  2.   let totalStudents = {};
  3.  
  4.   for (let lineStudent of inputArr) {
  5.     let tokens = lineStudent.split(", ");
  6.     //console.log(tokens);
  7.     let studentName = tokens[0].split(": ")[1];
  8.     // console.log(studentName);
  9.     let currentGrade = tokens[1].split(": ")[1];
  10.     let studentAverScore = tokens[2].split(": ")[1];
  11.  
  12.     if (studentAverScore > 3) {
  13.       let student = {studentName, studentAverScore };
  14.       if (!totalStudents.hasOwnProperty(currentGrade)) {
  15.         totalStudents[currentGrade] = [];
  16.       }
  17.       totalStudents[currentGrade].push(student);
  18.     }
  19.   }
  20.    let studentsListGrades = Object.keys(totalStudents).sort((a, b) => a-b);  
  21.  
  22.  
  23.    
  24.   for( let grade of studentsListGrades ){
  25.   let students = totalStudents[grade];
  26.   console.log(`${ Number(grade) + 1 } Grade`);
  27.   console.log( `List of students: ${ students.map ( element => element.studentName).join(", ") }`);
  28.   let sum = 0;
  29.   for (let index = 0; index < students.length; index++) {
  30.    sum += Number(students[index].studentAverScore);
  31.   }
  32.   let averageSum = (sum/students.length).toFixed(2);
  33.   console.log(`Average annual score from last year: ${averageSum}`);
  34.   console.log(``);
  35.   }
  36.  
  37.  
  38. }
  39. schoolRegister([
  40.   "Student name: Mark, Grade: 8, Graduated with an average score: 4.75",
  41.   "Student name: Ethan, Grade: 9, Graduated with an average score: 5.66",
  42.   "Student name: George, Grade: 8, Graduated with an average score: 2.83",
  43.   "Student name: Steven, Grade: 10, Graduated with an average score: 4.20",
  44.   "Student name: Joey, Grade: 9, Graduated with an average score: 4.90",
  45.   "Student name: Angus, Grade: 11, Graduated with an average score: 2.90",
  46.   "Student name: Bob, Grade: 11, Graduated with an average score: 5.15",
  47.   "Student name: Daryl, Grade: 8, Graduated with an average score: 5.95",
  48.   "Student name: Bill, Grade: 9, Graduated with an average score: 6.00",
  49.   "Student name: Philip, Grade: 10, Graduated with an average score: 5.05",
  50.   "Student name: Peter, Grade: 11, Graduated with an average score: 4.88",
  51.   "Student name: Gavin, Grade: 10, Graduated with an average score: 4.00",
  52. ]);
  53.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement