📜  js bmi 计算器 - Javascript (1)

📅  最后修改于: 2023-12-03 15:16:58.428000             🧑  作者: Mango

JS BMI 计算器 - Javascript

JS BMI 计算器是一款基于 Javascript 编写的计算器工具,可用于计算身体质量指数(BMI)。

BMI 是什么?

BMI,即身体质量指数(Body Mass Index),是一种衡量人体胖瘦程度的标准。

公式:BMI = 体重(kg)/ 身高^2 (m)

功能介绍

本计算器提供以下功能:

  • 输入身高和体重,自动计算 BMI 值
  • 显示 BMI 等级和相应解释
  • 可以根据国际和亚洲标准进行计算
代码实现
// 计算 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;
});
使用方法
  1. 在 HTML 中引入上述 JS 代码。
  2. 创建表单,包括身高(单位:厘米)、体重(单位:千克)和计算按钮。
  3. 给计算按钮添加点击事件,调用 calculateBMI() 函数和 getBMICategory() 函数计算 BMI 值和获取 BMI 等级。
  4. 将计算后的结果显示在页面中。
运行效果展示

运行效果展示

参考资料