Математика не является математикой-почему мой калькулятор калорий на основе MET возвращает огромные числа на низких скорJavascript

Форум по Javascript
Ответить
Anonymous
 Математика не является математикой-почему мой калькулятор калорий на основе MET возвращает огромные числа на низких скор

Сообщение Anonymous »

Видео ссылка на ошибку: < /p>
// Dropdown handling
const exerciseItems = document.querySelectorAll("#exercise-dropdown li");

exerciseItems.forEach(item => {
item.addEventListener('click', () => {
document.getElementById("exercise-type").textContent = item.textContent;
});
});

const weightInput = document.getElementById('weight');
const distanceInput = document.getElementById("distance");
const speedInput = document.getElementById("speed");
const caloriesInput = document.getElementById('Calories');
const submitButton = document.getElementById('submit');
const hiddenElements = document.querySelectorAll('.hidden');

function getMet(type) {
const speed = speedValue(speedInput);
const t = type.toLowerCase();
if (t === 'walking') return speed < 3 ? 2.0 : speed < 5 ? 2.8 : 3.5;
if (t === 'running') return speed < 8 ? 6.0 : speed < 10 ? 8.0 : 10.0;
if (t === 'biking') return speed < 16 ? 4.0 : speed < 20 ? 6.8 : 8.0;
if (t === 'swimming') return speed < 2 ? 4.8 : speed < 4 ? 5.8 : 7.0;
return 4.0;
}

function computeCal(w, m, d, s) {
return (m * 3.5 * w / 200) * ((d / s) * 60);
}

const clicking = e => {
e.preventDefault();
const distance = distanceValue(distanceInput);
const speed = speedValue(speedInput);
const weight = weightValue(weightInput);
const exercise = document.getElementById("exercise-type").textContent;
const met = getMet(exercise);
const calories = computeCal(weight, met, distance, speed);
caloriesInput.textContent = `Calories Burned : ${calories.toFixed(2)}`;
};
< /code>



Walking


Weight (kg)


Distance (km)


Speed (km/h)


Calories Burned : 0
Calculate



< /code>
Я почти уверен, что основная проблема связана со скоростью, но я заметил, что общие расчеты тоже чувствуют себя отключенными. Я включил видео в ссылку выше, которая показывает ошибку в действии. рассчитываться как расстояние ÷ скорость, поэтому более низкая скорость = длинная продолжительность = больше калорий сжигается. Но это не кажется точным - особенно когда супер низкие скорости вызывают номера калорий, которые кажутся слишком высокими. < /P>
Я не уверен, правильная формула, или я должен ограничивать значения или по -разному корректировать Мет. Более подробная информация объяснена в видео выше. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/796 ... massive-nu
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»