Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Grades(input){
- let ArrStudents=[];
- let ArrNewYearStudents=[];
- let gradesArr=[];
- let GradesAvgScore={};
- for (const stud of input) {
- let [studentName,Grade,AverageScore]= stud.split(',');
- let indexst=studentName.indexOf(':');
- let name=studentName.substring(indexst+1,studentName.length);
- let idexgr=Grade.indexOf(':');
- let grade=Grade.substring(idexgr+1,Grade.length);
- let iavr=AverageScore.indexOf(':');
- let avgscore=AverageScore.substring(iavr+1,AverageScore.length);
- let gradenum=Number(grade.trim());
- let avgnum=Number(avgscore.trim());
- if(avgnum >3){
- let student={name:name.trim(), grade:gradenum, avgeragescore:avgnum};
- ArrStudents.push(student);
- let objStudent=ArrNewYearStudents.find(s=> s.grade==gradenum);
- if(!objStudent && avgnum > 3){
- gradesArr.push(grade.trim());
- ArrNewYearStudents.push({grade:gradenum, students:'', avgscore:0});
- }
- }
- }
- let namestudents='';
- for (const student of ArrNewYearStudents) {
- let allstudents='';
- let avggr=0;
- let sumavg=0;
- let countst=0;
- let CStudents=[];
- for (let i=0; i< ArrStudents.length; i++) {
- let g=ArrStudents[i].grade;
- if(student.grade== g && ArrStudents[i].avgeragescore >3){
- countst ++;
- sumavg += ArrStudents[i].avgeragescore;
- CStudents.push(ArrStudents[i].name)
- }
- }
- avggr= sumavg/countst;
- student.avgscore=avggr;
- student.students=CStudents.join(', ');
- }
- gradesArr.sort((a,b)=> a-b);
- for (let j = 0; j < gradesArr.length; j++) {
- let student= ArrNewYearStudents.find(s=> s.grade==gradesArr[j] );
- console.log(`${student.grade+1} Grade`);
- console.log(`List of students: ${student.students}`);
- console.log(`Average annual score from last year: ${student.avgscore.toFixed(2)}\n`)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement