📅  最后修改于: 2023-12-03 15:16:58.428000             🧑  作者: Mango
JS BMI 计算器是一款基于 Javascript 编写的计算器工具,可用于计算身体质量指数(BMI)。
BMI,即身体质量指数(Body Mass Index),是一种衡量人体胖瘦程度的标准。
公式:BMI = 体重(kg)/ 身高^2 (m)
本计算器提供以下功能:
// 计算 BMI 值
function calculateBMI(height, weight) {
var heightM = height / 100;
var bmi = weight / Math.pow(heightM, 2);
return bmi.toFixed(2);
}
// 判断 BMI 等级
function getBMICategory(bmi, categoryType) {
var category = '';
var categoryDesc = '';
var categoryArray = [];
// 国际标准
if (categoryType === 'international') {
categoryArray = [
{ min: 0, max: 18.4, desc: '偏瘦' },
{ min: 18.5, max: 24.9, desc: '正常' },
{ min: 25, max: 29.9, desc: '偏胖' },
{ min: 30, max: 34.9, desc: '肥胖(一级)' },
{ min: 35, max: 39.9, desc: '肥胖(二级)' },
{ min: 40, max: Infinity, desc: '肥胖(三级)' },
];
}
// 亚洲标准
else if (categoryType === 'asia') {
categoryArray = [
{ min: 0, max: 18.4, desc: '偏瘦' },
{ min: 18.5, max: 22.9, desc: '正常' },
{ min: 23, max: 24.9, desc: '偏胖' },
{ min: 25, max: 29.9, desc: '肥胖(一级)' },
{ min: 30, max: Infinity, desc: '肥胖(二级)' },
];
}
// 获取 BMI 等级及其解释
categoryArray.forEach(function (item) {
if (bmi >= item.min && bmi <= item.max) {
category = item.desc;
categoryDesc = '(' + item.desc + ',' + item.min + '-' + item.max + ')';
}
});
return { category: category, categoryDesc: categoryDesc };
}
// 按钮点击事件
document.getElementById('calculate').addEventListener('click', function () {
var height = document.getElementById('height').value;
var weight = document.getElementById('weight').value;
var categoryType = document.getElementById('category').value;
// 计算 BMI 值
var bmi = calculateBMI(height, weight);
// 获取 BMI 等级及其解释
var categoryObj = getBMICategory(bmi, categoryType);
var category = categoryObj.category;
var categoryDesc = categoryObj.categoryDesc;
// 显示结果
document.getElementById('bmi').innerHTML = bmi;
document.getElementById('categoryDesc').innerHTML = categoryDesc;
document.getElementById('category').innerHTML = category;
});
calculateBMI()
函数和 getBMICategory()
函数计算 BMI 值和获取 BMI 等级。