// Exercise data in the form of an array of objects let activities = [{activity:'walking',intensity:'low',calories:176},{activity:'walking',intensity:'medium',calories:232}, {activity:'walking',intensity:'high',calories:352},{activity:'cycling',intensity:'low',calories:422}, {activity:'cycling',intensity:'medium',calories:563},{activity:'cycling',intensity:'high',calories:704}, {activity:'running',intensity:'low',calories:704},{activity:'running',intensity:'medium',calories:880}, {activity:'running',intensity:'high',calories:1126},{activity:'swimming',intensity:'low',calories:422}, {activity:'swimming',intensity:'medium',calories:563},{activity:'swimming',intensity:'high',calories:704}]; // A helper function to compute the calories per hour for // an activity at a certain intensity function caloriesPerHour(data,activity,intensity) { let length = data.length; for(let n = 0;n < length;n++) { if(data[n].activity==activity && data[n].intensity==intensity) return data[n].calories; } return 0; } function computeHandler() { // Gather the page elements we need to interact with let activitySelector = document.getElementById('activity'); let intensitySelector = document.getElementById('intensity'); let durationText = document.getElementById('duration'); let resultPar = document.getElementById('result'); // Gather inputs let activity = activitySelector.value; let intensity = intensitySelector.value; let duration = durationText.value; // Do the computation let calories = caloriesPerHour(activities,activity,intensity)*duration/60; // Round result to the nearest calorie calories = Math.round(calories); // Present the result resultPar.textContent = 'This activity will burn a total of ' + calories + ' calories.'; } function setup() { let computeButton = document.getElementById('compute'); computeButton.addEventListener('click',computeHandler,false); } window.addEventListener('load',setup,false);