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();