Javascript 哇,啪&引用;您的体重指数计算不正确”;

Javascript 哇,啪&引用;您的体重指数计算不正确”;,javascript,es6-modules,Javascript,Es6 Modules,我正在进行BMI计算器技术评估,但我还停留在使用公式的阶段。计算体重指数的说明如下: 说明1: 每个用户的身高以英尺表示,因此计算需要首先将其转换为米提示:以0.3048的倍数增加高度 说明2: BMEye使用高级算法计算BMI!BMEye的理念是饮食最健康的国家,它们是乍得、塞拉利昂、马里、冈比亚、乌干达、加纳、塞内加尔、索马里、科特迪瓦和以色列。 如果用户来自这些国家中的任何一个,则计算出的BMI数字乘以0.82,使其稍微下降 最后一条指令: 按照上面的指南和提示,让computeBMI使用

我正在进行BMI计算器技术评估,但我还停留在使用公式的阶段。计算体重指数的说明如下:

说明1:

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

说明2:

BMEye使用高级算法计算BMI!BMEye的理念是饮食最健康的国家,它们是乍得、塞拉利昂、马里、冈比亚、乌干达、加纳、塞内加尔、索马里、科特迪瓦和以色列。 如果用户来自这些国家中的任何一个,则计算出的BMI数字乘以0.82,使其稍微下降

最后一条指令

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

我尝试做的事情:

我试图在本地编辑器sublime文本中运行代码,它正确计算BMI,但当我将代码带到运行评估的Google grade tracker平台上时,它抛出一个错误,说“你的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);

            };

这个问题没有提到舍入,更不用说你对数学的使用了。舍入是不正确的。round接受一个参数并舍入到最接近的整数。如果你想要两个小数点,用
toFixed(2)

过几天,我已经找到了这个挑战性问题的正确答案,我知道这对以后的其他人很有用

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);

           }; 
研究以下内容

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;


  } 

重量是多少单位?磅还是公斤?那么体重指数的实际公式是什么?@mplungjan这个问题100%没问题。是的,我认为他没有达到预期的结果。我们能不能让OP来添加一些信息。您的编辑不正确。他的函数接受一个带参数的对象。您的调用传递了3个参数。如果您在不知道计算中使用的单位的情况下进行了编辑,我们需要OP提供更多详细信息。@VLAZ,重量以千克为单位,高度以英尺为单位,在计算前以米为单位进行转换。公式为重量/高度^2良好点-说明中没有说明返回什么数字,但
数学。round
将只返回整数。当我将代码带到运行评估的Google grade tracker平台上时,它抛出一个错误,表示您的GMI计算不正确@那是因为你对OP@mplungjan发布的初始代码做了不正确的编辑,但是。。。。我们只是不知道验证是什么样的-它可能需要三个有效数字。虽然最初的代码显示是2。问题细节没有具体说明。我尝试使用return
BMI.toFixed(2)但错误仍然存在,运气不好