糟糕! “您的BMI计算不正确”

时间:2019-06-04 11:23:06

标签: javascript es6-modules

我正在从事BMI计算器技术评估,但仍处于使用公式的阶段。计算BMI的指令为:

  

说明1:

     

每个用户的身高都以英尺表示,因此计算需要首先将其转换为米。 提示:高度乘以 0.3048

     

说明2:

     

BMEye 使用高级算法来计算BMI! BMEye拥有饮食最健康的国家/地区的概念,它们是乍得,塞拉利昂,马里,冈比亚,乌干达,加纳,塞内加尔,索马里,科特迪瓦和伊斯雷尔。   如果用户来自这些国家/地区中的任何一个,则计算出的BMI值将乘以 0.82 ,将其降低一点。

     

最新说明

     

按照上面的指南和提示,让computeBMI使用用户的体重,身高和国家/地区来计算并返回用户的BMI值。

我尝试做的事情:

我试图在本地编辑器的高级文本中运行代码,并且该代码可以正确计算BMI,但是当我将代码带到运行评估的平台Google成绩跟踪器上时,它会引发错误消息:“您的BMI计算不正确! “

有人可以帮助我解决此错误吗?下面是一个功能,该功能通过获取身高,体重和国家/地区来接收用户的对象,以帮助进行计算。

const computeBMI = ({weight, height, country}) => {
           const LowBMIcountries = ["Chad", "Sierra Leone", "Mali", "Gambia", 
            "Uganda", "Ghana", "Senegal", "Somalia", "Ivory Coast", "Israel"];  
              const bmiRate = 0.82;

               let ConvertHeight = height * 0.3048;

               let BMI = weight / Math.pow(ConvertHeight,2);

                if (LowBMIcountries.includes(country)) {
                  BMI *= bmiRate;
                 }
               return Math.round(BMI, 2);

            };

3 个答案:

答案 0 :(得分:1)

该问题没有提及舍入,更不用说您对Math.round的使用是不正确的。 Math.round接受一个参数,并四舍五入为最接近的整数。如果要两个小数点,请使用toFixed(2)

答案 1 :(得分:0)

几天后,我为这个有挑战性的问题提出了正确的答案,我知道将来对其他人会有用。

const computeBMI = ({weight, height, country}) => {

const countries = ["Chad", "Sierra Leone", "Mali", "Gambia", "Uganda",              
          "Ghana", "Senegal", "Somalia", "Ivory Coast", "Isreal"];

          const hm = height * 0.3048;
          const ratio = (countries.includes(country) ? 0.82 : 1);

      const BMI = (weight / (hm * hm)) * ratio;
          return parseFloat(BMI).toFixed(1);

           }; 

答案 2 :(得分:0)

研究以下内容。

entervar computeBMI = function({weight,height,country}) {



    const bmiScale = 0.82;
    let feetToMeter = 0.3048;


     const countries = ['Chad','Sierra Leone','Mali','Gambia','Uganda',
              'Ghana','Senegal','Somalia','Ivory Coast','Isreal'];
   const heightinmeter = (height * feetToMeter);

    let bim = ((weight)/(heightinmeter ** 2));


    if(countries.includes(country)) {bim = bim * bmiScale}

    var fixednum = bim.toFixed(1);

    return fixednum;


  }