我无法找到一种方法来更改此语句以接受字符串值而不是整数。我正在构建购物车,我需要使用购物车的总价值并使用小数乘以(基于总价值的总和),价格范围和小数位于下方。
如果你知道如何在下面编辑以接受字符串。或者,如果您能找到让rateValue使用此字符串>>>的方法,请查看codepen grandTotal = (((salesTotal-discount12) * (0.13)) + (salesTotal-discount12))
var chartValue;
var rateValue = rateValue = grandTotal;
var priceRange = [ 1000, 2500, 5000, 10000, 15000, 50000 ];
var priceValue = [ 0.02301, 0.01224, 0.02040, 0.01992, 0.01980,0.01980];
for(range in priceRange)
if (rateValue >= priceRange[range])
chartValue = priceValue[range];
答案 0 :(得分:0)
你从这开始:
var emptyCart = true;
var salesTotal = 0;
var discount12=0;
var subtotal=0;
var cellNum = 1;
var chartValue;
// seting a value
var rateValue= (((salesTotal-discount12) * (0.13)) + (salesTotal-discount12));
所以 rateValue 的值为0。
然后你做:
var priceRange = [ 1000, 2500, 5000, 10000, 15000, 50000 ];
var priceValue = [ 0.02301, 0.01224, 0.02040, 0.01992, 0.01980,0.01980];
for(range in priceRange)
if (rateValue >= priceRange[range])
chartValue = priceValue[range];
document.getElementById("pleasework").innerHTML= chartValue;
此 rateValue 在 priceRange 中不是>=
任何值,因此 chartValue 仍未定义。 chartValue 的值不会在其他任何位置重新分配,因此您会看到 undefined 写入文档。
PS使用for..in与数组是不好的形式(除非你有充分的理由),使用带有计数器的普通for循环或使用pollyfill使用 forEach 。
答案 1 :(得分:0)
因此,在您的代码中,您有以下内容:
var chartValue; // this is now undefined
然后再往下走:
// seting a value
var rateValue= (((salesTotal-discount12) * (0.13)) + (salesTotal-discount12));
// rateValue is now 0
然后在这里你有以下(因为rateValue
是0
而永远不会是真的):
if (rateValue >= priceRange[range])
chartValue = priceValue[range];
因此,在这种情况下,chartValue
始终为undefined