JavaScript计算销售税任务:返回值问题求助
解决JavaScript的calculateTaxes函数返回值问题
我看你现在卡在这个calculateTaxes函数的返回值上了,咱们先捋捋现有代码的问题:你定义了salesTax和totalPrice变量,但完全没给totalPrice赋值就直接返回了,这肯定会返回undefined,根本达不到测试要求。
先拆解下测试用例的计算逻辑,比如calculateTaxes(2,5)要返回11,咱们算一下:2×5=10,10加上10%的销售税就是11,也就是总价 = 单价 × 数量 × (1 + 销售税率),这个逻辑套其他测试用例也完全对得上:
- 5×6=30,30×1.1=33 ✔️
- 10×3=30,30×1.1=33 ✔️
- 15×12=180,180×1.1=198 ✔️
- 25×2=50,50×1.1=55 ✔️
那修正后的代码就很清晰了,给totalPrice赋值就行,甚至可以直接返回计算结果,不用额外变量:
function calculateTaxes(price, quantity) { const salesTax = 0.10; // 计算总价:单价×数量×(1+税率) return price * quantity * (1 + salesTax); } // 测试验证 console.log(calculateTaxes(1,10)); // 11 console.log(calculateTaxes(2,5)); // 11 console.log(calculateTaxes(5,6)); // 33 console.log(calculateTaxes(10,3)); // 33 console.log(calculateTaxes(15,12)); // 198 console.log(calculateTaxes(25,2)); // 55
如果还是想保留totalPrice变量,也可以这样写:
function calculateTaxes(price, quantity) { const salesTax = 0.10; const totalPrice = price * quantity * (1 + salesTax); return totalPrice; }
这样所有测试用例都能得到正确的数字返回值啦~
内容的提问来源于stack exchange,提问作者PreYVin
相关产品推荐
相关产品推荐

