如何将if语句更改为接受字符串而不是整数

时间:2014-11-10 03:59:09

标签: javascript html

我无法找到一种方法来更改此语句以接受字符串值而不是整数。我正在构建购物车,我需要使用购物车的总价值并使用小数乘以(基于总价值的总和),价格范围和小数位于下方。

如果你知道如何在下面编辑以接受字符串。或者,如果您能找到让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];

2 个答案:

答案 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

然后在这里你有以下(因为rateValue0而永远不会是真的):

if (rateValue >= priceRange[range]) 
   chartValue = priceValue[range];

因此,在这种情况下,chartValue始终为undefined