Skip to content

Instantly share code, notes, and snippets.

@ross-u
Created October 23, 2020 06:35
Show Gist options
  • Save ross-u/09c1ed2b3daacb8cfd58b5d1b08b1c0e to your computer and use it in GitHub Desktop.
Save ross-u/09c1ed2b3daacb8cfd58b5d1b08b1c0e to your computer and use it in GitHub Desktop.
Exercise Solution - Get the final grade (M1 W1)
const students = [
{
name: "Tony Parker",
firstProject: 80,
secondProject: 75,
finalProject: 90
},
{
name: "Marc Barchini",
firstProject: 84,
secondProject: 65,
finalProject: 65
},
{
name: "Claudia Lopez",
firstProject: 45,
secondProject: 95,
finalProject: 99
},
{
name: "Alvaro Briattore",
firstProject: 82,
secondProject: 92,
finalProject: 70
},
{
name: "Isabel Ortega",
firstProject: 90,
secondProject: 32,
finalProject: 85
},
{
name: "Francisco Martinez",
firstProject: 90,
secondProject: 55,
finalProject: 78
},
{
name: "Jorge Carrillo",
firstProject: 83,
secondProject: 77,
finalProject: 90
},
{
name: "Miguel López",
firstProject: 80,
secondProject: 75,
finalProject: 75
},
{
name: "Carolina Perez",
firstProject: 85,
secondProject: 72,
finalProject: 67
},
{
name: "Ruben Pardo",
firstProject: 89,
secondProject: 72,
finalProject: 65
}
];
// during every function invocation new scope is created. After function finishes, scope is destroyed
const finalGrades = students.map( function (obj) {
// destructure the object
const { name, firstProject, secondProject, finalProject } = obj;
// Same as:
// const name = obj.name;
// const firstProject = obj.firstProject;
// const secondProject = obj.secondProject;
// const finalProject = obj.finalProject;
// calculate
const finalGrade = ( firstProject + secondProject + finalProject) / 3;
// convert to Integer
const finalGradeInt = parseInt(finalGrade);
// return the new object that will be stored in the new array
return {
name: name,
finalGrade: finalGradeInt
}
});
console.log(finalGrades);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment