// Exercise data in the form of an array of objects var data = [{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(activity,intensity) { var n, length; length = data.length; for(n = 0;n < length;n++) { if(data[n].activity==activity && data[n].intensity==intensity) return data[n].calories; } return 0; } function computeHandler() { var activity,intensity,duration,calories; // Gather inputs activity = $('#activity').val(); intensity = $('#intensity').val(); duration = $('#duration').val(); // Do the computation calories = caloriesPerHour(activity,intensity)*duration/60; // Round result to the nearest calorie calories = Math.round(calories); // Present the result $('#result').text('This activity will burn a total of ' + calories + ' calories.'); } function setup() { $('#compute').click(computeHandler); } $(document).ready(setup);