Advertisement
Silviya7

5.SchoolRegister

Mar 30th, 2024
883
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function Grades(input){
  2.  
  3.    let ArrStudents=[];
  4.  
  5.    let ArrNewYearStudents=[];
  6.    let gradesArr=[];
  7.  
  8.     let GradesAvgScore={};
  9.     for (const stud of input) {
  10.        
  11.         let [studentName,Grade,AverageScore]= stud.split(',');
  12.         let indexst=studentName.indexOf(':');
  13.         let name=studentName.substring(indexst+1,studentName.length);    
  14.  
  15.         let idexgr=Grade.indexOf(':');
  16.         let grade=Grade.substring(idexgr+1,Grade.length);
  17.         let iavr=AverageScore.indexOf(':');
  18.         let avgscore=AverageScore.substring(iavr+1,AverageScore.length);
  19.        
  20.         let gradenum=Number(grade.trim());
  21.         let avgnum=Number(avgscore.trim());
  22.          
  23.         if(avgnum >3){
  24.         let student={name:name.trim(), grade:gradenum, avgeragescore:avgnum};
  25.         ArrStudents.push(student);
  26.    
  27.         let objStudent=ArrNewYearStudents.find(s=> s.grade==gradenum);
  28.         if(!objStudent && avgnum > 3){
  29.             gradesArr.push(grade.trim());
  30.         ArrNewYearStudents.push({grade:gradenum, students:'', avgscore:0});
  31.         }
  32.     }
  33.  
  34.     }
  35.  
  36.     let namestudents='';
  37.    
  38.      
  39.        for (const student of ArrNewYearStudents) {
  40.         let allstudents='';
  41.         let avggr=0;
  42.         let sumavg=0;
  43.         let countst=0;
  44.         let CStudents=[];
  45.         for (let i=0; i< ArrStudents.length; i++) {
  46.             let g=ArrStudents[i].grade;
  47.                
  48.         if(student.grade== g && ArrStudents[i].avgeragescore >3){
  49.             countst ++;
  50.             sumavg += ArrStudents[i].avgeragescore;
  51.             CStudents.push(ArrStudents[i].name)
  52.         }
  53.      
  54.        }
  55.        avggr= sumavg/countst;
  56.        
  57.        student.avgscore=avggr;
  58.        student.students=CStudents.join(', ');
  59.      
  60.       }
  61.  
  62.       gradesArr.sort((a,b)=> a-b);
  63.    
  64.  
  65. for (let j = 0; j < gradesArr.length; j++) {
  66.     let student= ArrNewYearStudents.find(s=> s.grade==gradesArr[j] );
  67.     console.log(`${student.grade+1} Grade`);
  68.     console.log(`List of students: ${student.students}`);
  69.  
  70.     console.log(`Average annual score from last year: ${student.avgscore.toFixed(2)}\n`)
  71.  
  72. }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement