JSFiddle - React, Tailwind, and code Playground
by igalst
JavaScript
function Student(firstName, lastName, ex1, ex2, ex3, ex4) {
this.firstName = firstName;
this.lastName = lastName;
this.ex1 = ex1;
this.ex2 = ex2;
this.ex3 = ex3;
this.ex4 = ex4;
}
var students = [
// First Name Last Name Exam1 Exam2 Exam3 Exam4
new Student("Yossi", "Levi", 90, 80, 40, 55),
new Student("David", "Israeli", 80, 49, 85, 62),
new Student("Chen", "Shalom", 90, 91, 100, 105),
new Student("Oren", "Cohen", 50, 67, 51, 20)];
function listAllStudentsWithAverageGrade(i) {
for (var i = 0; i < students.length; i++) {
var exSum = students[i].ex1 + students[i].ex2 + students[i].ex3 + students[i].ex4;
var avg = exSum / 4;
console.log(students[i].firstName + " " + students[i].lastName + ". AVG is : " + avg);
}
}
// 1: Example of one record: Yossi Levi, 70 avg.
listAllStudentsWithAverageGrade(0);
// 2: Calculate class average and print on screen rounded up to 1 decimal number (e.g: 84.3);
function studentAvg(i) {
return (students[i].ex1 + students[i].ex2 + students[i].ex3 + students[i].ex4) / 4;
}
function classAverage(students) {
var sum = 0;
for (var i = 0; i < students.length; i++) {
sum += studentAvg(i);
}
return (Math.round(sum / students.length) * 10) / 10;
}
var classAvg = classAverage(students);
console.log("class avg is " + classAvg);
// 3a: What is classes' best student's name?
function getBestStudentName(students) {
var bestAvg = 0;
var name;
for (var i = 0; i < students.length; i++) {
if (studentAvg(i) >bestAvg) {
bestAvg = studentAvg(i);
name = students[i].firstName;
}
}
return name;
}
var bestStudentName = getBestStudentName(students);
console.log("Best Student Name: " + bestStudentName);
// 3b*: Who is the best student?
function getBestStudent(students) {
var bestAvg = 0;
var student;
for (var i = 0; i < students.length; i++) {
if (studentAvg(i)...