Javascript 在JS中如何将变量值舍入为整数?

Javascript 在JS中如何将变量值舍入为整数?,javascript,reactjs,math,Javascript,Reactjs,Math,我正在创建一个以重量、位置和数量为参数的计算器。我将价格设置为键值对,当输入权重时,它将迭代对象数组,找到与它相等的键值,并使用该值显示价格消息。我遇到的问题是,无论何时输入的数字不是整数,都不会显示任何内容。以下是我的代码: const calculateRate = () => { let price let ausWeight = { 1: 19, 2: 25, 3: 25, 4: 28, 5: 28, 6: 31.5, 7:

我正在创建一个以重量、位置和数量为参数的计算器。我将价格设置为键值对,当输入权重时,它将迭代对象数组,找到与它相等的键值,并使用该值显示价格消息。我遇到的问题是,无论何时输入的数字不是整数,都不会显示任何内容。以下是我的代码:

const calculateRate = () => {
        let price
        let ausWeight = {
            1: 19, 2: 25, 3: 25, 4: 28, 5: 28, 6: 31.5, 7: 35, 8: 38.5, 9: 42, 10: 45.5, 11: 49, 12: 52.5, 13: 56, 14: 59.5,
            15: 63, 16: 66.5, 17: 70, 18: 73.5, 19: 77, 20: 80.5};
        let inputWeight = Object.keys(ausWeight)
        let inputValue = Object.values(ausWeight)
        let x = Math.floor(weight);
        console.log(x)
        
        for (var i = 0; i < inputWeight.length; i++){
            if (x === inputWeight[i] && region.value === 'Australia') {
                price = `Estimated delivery cost is $${inputValue[i] * quantity}`;
                setShowResults(true)
                setPrice(price); 
            }
        }
}

const calculateRate=()=>{
出租价格
让重量={
1: 19, 2: 25, 3: 25, 4: 28, 5: 28, 6: 31.5, 7: 35, 8: 38.5, 9: 42, 10: 45.5, 11: 49, 12: 52.5, 13: 56, 14: 59.5,
15: 63, 16: 66.5, 17: 70, 18: 73.5, 19: 77, 20: 80.5};
让inputWeight=Object.keys(ausWeight)
让inputValue=Object.values(ausWeight)
设x=数学地板(重量);
console.log(x)
对于(变量i=0;i
如您所见,我将x设置为等于Math.floor()四舍五入的权重,但没有得到输出。您还可以看到,我正在将x的值记录到控制台中,当我通过开发工具查看它时,它给出了我期望的结果。对于上下文,这是一个功能性的react组件,其权重由setState()设置


任何关于如何解决这个问题的想法都将不胜感激。谢谢。

您只需将字符串与数字进行比较

通过使用,可以获得字符串数组。但后来你采取了严格的比较

要克服这个问题,需要将字符串值转换为数字

x === +inputWeight[i] 

当然就这么简单。谢谢你,我以后会知道的。