JSFiddle - React, Tailwind, and code Playground

by Cioc Andrei

HTML

<ul id="test">
    
</ul>

JavaScript

function allStudents (numStudents, students, renderToId, className){

    this.numStudents = students.length;
    this.students = students;
    this.renderToId = renderToId;
    this.className = className;


}

Students.prototype.addStudent = function(students) {
    this.students.push(students);
    this.numStudents++;
    }


Students.prototype.removeStudent = function(firstName, lastName) {
    for (var i = 0; i<this.numStudents; i++) {
        if (this.students[i].firstName === firstName && this.students[i].lastName === lastName) {
            this.students.splice(i,1);
            this.numStudents--;
            return true;
        }
    }
    return false;
};

Students.prototype.averageGrade = function() {
    for(var i = 0; i<this.numStudents; i++) {
        this.students[i].averageGrade = (this.students[i].mathGrade + this.students[i].romGrade)/2;         
    }
};
 


Students.prototype.totalAverage = function() {
    var sum = 0;
    for (var i = 0; i<this.numStudents; i++) {
        sum += this.students[i].averageGrade;
    }
    this.totalAverage = sum / this.numStudents;
    return this.totalAverage;
};


Students.prototype.print = function(){
for (var i =0; i<this.numStudents; i++) {
        
        document.getElementById(this.renderToId).innerHTML += "<li>" + this.Students[i].firstName + " " + this.Students[i].lastName + " " +  this.Students[i].mathGrade + " " + this.Students[i].romGrade + " " + this.Students[i].averageGrade + "</li>";
    }
    document.getElementById(this.renderToId).innerHTML += "Media tuturor mediilor este" + this.totalAverage();
}

var allStudents = [
        {firstName:'Ion',
         lastName: 'Popescu',
         mathGrade: 9,
         romGrade: 10}, 
    {firstName:'Adrian',
     lastName: 'Ilie',
     mathGrade: 9,
     romGrade: 8
    }
];

var myList = new Students('XII B', allStudents, 'mydiv');
test.print();